99.37/62.20 MAYBE 99.37/62.21 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 99.37/62.21 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 99.37/62.21 99.37/62.21 99.37/62.21 H-Termination with start terms of the given HASKELL could not be shown: 99.37/62.21 99.37/62.21 (0) HASKELL 99.37/62.21 (1) IFR [EQUIVALENT, 0 ms] 99.37/62.21 (2) HASKELL 99.37/62.21 (3) BR [EQUIVALENT, 0 ms] 99.37/62.21 (4) HASKELL 99.37/62.21 (5) COR [EQUIVALENT, 7 ms] 99.37/62.21 (6) HASKELL 99.37/62.21 (7) LetRed [EQUIVALENT, 0 ms] 99.37/62.21 (8) HASKELL 99.37/62.21 (9) NumRed [SOUND, 0 ms] 99.37/62.21 (10) HASKELL 99.37/62.21 (11) Narrow [SOUND, 0 ms] 99.37/62.21 (12) AND 99.37/62.21 (13) QDP 99.37/62.21 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (15) AND 99.37/62.21 (16) QDP 99.37/62.21 (17) QDPOrderProof [EQUIVALENT, 48 ms] 99.37/62.21 (18) QDP 99.37/62.21 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (20) QDP 99.37/62.21 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 99.37/62.21 (22) YES 99.37/62.21 (23) QDP 99.37/62.21 (24) MRRProof [EQUIVALENT, 0 ms] 99.37/62.21 (25) QDP 99.37/62.21 (26) PisEmptyProof [EQUIVALENT, 0 ms] 99.37/62.21 (27) YES 99.37/62.21 (28) QDP 99.37/62.21 (29) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (30) QDP 99.37/62.21 (31) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (32) QDP 99.37/62.21 (33) QReductionProof [EQUIVALENT, 0 ms] 99.37/62.21 (34) QDP 99.37/62.21 (35) TransformationProof [EQUIVALENT, 15 ms] 99.37/62.21 (36) QDP 99.37/62.21 (37) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (38) QDP 99.37/62.21 (39) QReductionProof [EQUIVALENT, 0 ms] 99.37/62.21 (40) QDP 99.37/62.21 (41) InductionCalculusProof [EQUIVALENT, 0 ms] 99.37/62.21 (42) QDP 99.37/62.21 (43) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (44) QDP 99.37/62.21 (45) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (46) QDP 99.37/62.21 (47) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (48) QDP 99.37/62.21 (49) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (50) QDP 99.37/62.21 (51) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (52) QDP 99.37/62.21 (53) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (54) QDP 99.37/62.21 (55) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (56) QDP 99.37/62.21 (57) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (58) QDP 99.37/62.21 (59) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (60) QDP 99.37/62.21 (61) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (62) QDP 99.37/62.21 (63) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (64) QDP 99.37/62.21 (65) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (66) QDP 99.37/62.21 (67) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (68) QDP 99.37/62.21 (69) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (70) QDP 99.37/62.21 (71) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (72) QDP 99.37/62.21 (73) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (74) QDP 99.37/62.21 (75) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (76) QDP 99.37/62.21 (77) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (78) QDP 99.37/62.21 (79) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (80) QDP 99.37/62.21 (81) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (82) QDP 99.37/62.21 (83) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (84) QDP 99.37/62.21 (85) QReductionProof [EQUIVALENT, 0 ms] 99.37/62.21 (86) QDP 99.37/62.21 (87) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (88) QDP 99.37/62.21 (89) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (90) QDP 99.37/62.21 (91) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (92) QDP 99.37/62.21 (93) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (94) QDP 99.37/62.21 (95) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (96) QDP 99.37/62.21 (97) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (98) QDP 99.37/62.21 (99) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (100) QDP 99.37/62.21 (101) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (102) QDP 99.37/62.21 (103) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (104) QDP 99.37/62.21 (105) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (106) QDP 99.37/62.21 (107) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (108) QDP 99.37/62.21 (109) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (110) QDP 99.37/62.21 (111) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (112) QDP 99.37/62.21 (113) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (114) QDP 99.37/62.21 (115) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (116) QDP 99.37/62.21 (117) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (118) QDP 99.37/62.21 (119) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (120) QDP 99.37/62.21 (121) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (122) QDP 99.37/62.21 (123) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (124) QDP 99.37/62.21 (125) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (126) QDP 99.37/62.21 (127) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (128) QDP 99.37/62.21 (129) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (130) QDP 99.37/62.21 (131) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (132) QDP 99.37/62.21 (133) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (134) QDP 99.37/62.21 (135) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (136) QDP 99.37/62.21 (137) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (138) QDP 99.37/62.21 (139) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (140) QDP 99.37/62.21 (141) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (142) QDP 99.37/62.21 (143) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (144) QDP 99.37/62.21 (145) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (146) QDP 99.37/62.21 (147) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (148) QDP 99.37/62.21 (149) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (150) QDP 99.37/62.21 (151) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (152) QDP 99.37/62.21 (153) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (154) QDP 99.37/62.21 (155) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (156) QDP 99.37/62.21 (157) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (158) QDP 99.37/62.21 (159) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (160) QDP 99.37/62.21 (161) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (162) QDP 99.37/62.21 (163) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (164) QDP 99.37/62.21 (165) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (166) QDP 99.37/62.21 (167) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (168) QDP 99.37/62.21 (169) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (170) QDP 99.37/62.21 (171) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (172) QDP 99.37/62.21 (173) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (174) QDP 99.37/62.21 (175) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (176) QDP 99.37/62.21 (177) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (178) QDP 99.37/62.21 (179) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (180) QDP 99.37/62.21 (181) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (182) QDP 99.37/62.21 (183) TransformationProof [EQUIVALENT, 1 ms] 99.37/62.21 (184) QDP 99.37/62.21 (185) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (186) QDP 99.37/62.21 (187) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (188) QDP 99.37/62.21 (189) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (190) QDP 99.37/62.21 (191) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (192) QDP 99.37/62.21 (193) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (194) QDP 99.37/62.21 (195) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (196) QDP 99.37/62.21 (197) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (198) QDP 99.37/62.21 (199) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (200) QDP 99.37/62.21 (201) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (202) QDP 99.37/62.21 (203) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (204) QDP 99.37/62.21 (205) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (206) QDP 99.37/62.21 (207) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (208) QDP 99.37/62.21 (209) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (210) QDP 99.37/62.21 (211) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (212) QDP 99.37/62.21 (213) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (214) QDP 99.37/62.21 (215) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (216) QDP 99.37/62.21 (217) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (218) QDP 99.37/62.21 (219) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (220) QDP 99.37/62.21 (221) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (222) QDP 99.37/62.21 (223) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (224) QDP 99.37/62.21 (225) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (226) QDP 99.37/62.21 (227) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (228) QDP 99.37/62.21 (229) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (230) QDP 99.37/62.21 (231) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (232) QDP 99.37/62.21 (233) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (234) QDP 99.37/62.21 (235) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (236) QDP 99.37/62.21 (237) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (238) QDP 99.37/62.21 (239) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (240) QDP 99.37/62.21 (241) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (242) QDP 99.37/62.21 (243) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (244) QDP 99.37/62.21 (245) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (246) QDP 99.37/62.21 (247) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (248) QDP 99.37/62.21 (249) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (250) QDP 99.37/62.21 (251) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (252) QDP 99.37/62.21 (253) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (254) QDP 99.37/62.21 (255) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (256) QDP 99.37/62.21 (257) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (258) QDP 99.37/62.21 (259) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (260) QDP 99.37/62.21 (261) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (262) QDP 99.37/62.21 (263) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (264) QDP 99.37/62.21 (265) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (266) QDP 99.37/62.21 (267) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (268) QDP 99.37/62.21 (269) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (270) QDP 99.37/62.21 (271) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (272) QDP 99.37/62.21 (273) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (274) QDP 99.37/62.21 (275) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (276) QDP 99.37/62.21 (277) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (278) QDP 99.37/62.21 (279) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (280) QDP 99.37/62.21 (281) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (282) QDP 99.37/62.21 (283) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (284) QDP 99.37/62.21 (285) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (286) QDP 99.37/62.21 (287) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (288) QDP 99.37/62.21 (289) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (290) QDP 99.37/62.21 (291) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (292) QDP 99.37/62.21 (293) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (294) QDP 99.37/62.21 (295) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (296) QDP 99.37/62.21 (297) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (298) QDP 99.37/62.21 (299) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (300) QDP 99.37/62.21 (301) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (302) QDP 99.37/62.21 (303) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (304) QDP 99.37/62.21 (305) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (306) QDP 99.37/62.21 (307) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (308) QDP 99.37/62.21 (309) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (310) QDP 99.37/62.21 (311) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (312) QDP 99.37/62.21 (313) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (314) QDP 99.37/62.21 (315) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (316) QDP 99.37/62.21 (317) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (318) QDP 99.37/62.21 (319) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (320) QDP 99.37/62.21 (321) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (322) QDP 99.37/62.21 (323) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (324) QDP 99.37/62.21 (325) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (326) QDP 99.37/62.21 (327) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (328) QDP 99.37/62.21 (329) TransformationProof [EQUIVALENT, 1 ms] 99.37/62.21 (330) QDP 99.37/62.21 (331) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (332) QDP 99.37/62.21 (333) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (334) QDP 99.37/62.21 (335) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (336) QDP 99.37/62.21 (337) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (338) QDP 99.37/62.21 (339) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (340) QDP 99.37/62.21 (341) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (342) QDP 99.37/62.21 (343) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (344) QDP 99.37/62.21 (345) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (346) QDP 99.37/62.21 (347) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (348) QDP 99.37/62.21 (349) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (350) QDP 99.37/62.21 (351) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (352) QDP 99.37/62.21 (353) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (354) QDP 99.37/62.21 (355) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (356) QDP 99.37/62.21 (357) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (358) QDP 99.37/62.21 (359) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (360) QDP 99.37/62.21 (361) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (362) QDP 99.37/62.21 (363) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (364) QDP 99.37/62.21 (365) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (366) QDP 99.37/62.21 (367) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (368) QDP 99.37/62.21 (369) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (370) QDP 99.37/62.21 (371) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (372) QDP 99.37/62.21 (373) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (374) QDP 99.37/62.21 (375) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (376) QDP 99.37/62.21 (377) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (378) QDP 99.37/62.21 (379) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (380) QDP 99.37/62.21 (381) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (382) QDP 99.37/62.21 (383) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (384) QDP 99.37/62.21 (385) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (386) QDP 99.37/62.21 (387) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (388) QDP 99.37/62.21 (389) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (390) QDP 99.37/62.21 (391) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (392) QDP 99.37/62.21 (393) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (394) QDP 99.37/62.21 (395) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (396) QDP 99.37/62.21 (397) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (398) QDP 99.37/62.21 (399) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (400) QDP 99.37/62.21 (401) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (402) QDP 99.37/62.21 (403) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (404) QDP 99.37/62.21 (405) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (406) QDP 99.37/62.21 (407) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (408) QDP 99.37/62.21 (409) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (410) QDP 99.37/62.21 (411) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (412) QDP 99.37/62.21 (413) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (414) QDP 99.37/62.21 (415) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (416) QDP 99.37/62.21 (417) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (418) QDP 99.37/62.21 (419) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (420) QDP 99.37/62.21 (421) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (422) QDP 99.37/62.21 (423) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (424) QDP 99.37/62.21 (425) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (426) QDP 99.37/62.21 (427) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (428) QDP 99.37/62.21 (429) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (430) QDP 99.37/62.21 (431) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (432) QDP 99.37/62.21 (433) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (434) QDP 99.37/62.21 (435) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (436) QDP 99.37/62.21 (437) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (438) QDP 99.37/62.21 (439) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (440) QDP 99.37/62.21 (441) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (442) QDP 99.37/62.21 (443) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (444) QDP 99.37/62.21 (445) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (446) QDP 99.37/62.21 (447) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (448) QDP 99.37/62.21 (449) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (450) QDP 99.37/62.21 (451) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (452) QDP 99.37/62.21 (453) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (454) QDP 99.37/62.21 (455) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (456) QDP 99.37/62.21 (457) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (458) QDP 99.37/62.21 (459) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (460) QDP 99.37/62.21 (461) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (462) QDP 99.37/62.21 (463) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (464) QDP 99.37/62.21 (465) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (466) QDP 99.37/62.21 (467) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (468) QDP 99.37/62.21 (469) TransformationProof [EQUIVALENT, 1 ms] 99.37/62.21 (470) QDP 99.37/62.21 (471) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (472) QDP 99.37/62.21 (473) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (474) QDP 99.37/62.21 (475) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (476) QDP 99.37/62.21 (477) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (478) QDP 99.37/62.21 (479) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (480) QDP 99.37/62.21 (481) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (482) QDP 99.37/62.21 (483) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (484) QDP 99.37/62.21 (485) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (486) QDP 99.37/62.21 (487) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (488) QDP 99.37/62.21 (489) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (490) QDP 99.37/62.21 (491) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (492) QDP 99.37/62.21 (493) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (494) QDP 99.37/62.21 (495) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (496) QDP 99.37/62.21 (497) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (498) QDP 99.37/62.21 (499) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (500) QDP 99.37/62.21 (501) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (502) QDP 99.37/62.21 (503) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (504) QDP 99.37/62.21 (505) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (506) QDP 99.37/62.21 (507) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (508) QDP 99.37/62.21 (509) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (510) QDP 99.37/62.21 (511) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (512) QDP 99.37/62.21 (513) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (514) QDP 99.37/62.21 (515) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (516) QDP 99.37/62.21 (517) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (518) QDP 99.37/62.21 (519) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (520) QDP 99.37/62.21 (521) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (522) QDP 99.37/62.21 (523) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (524) QDP 99.37/62.21 (525) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (526) QDP 99.37/62.21 (527) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (528) QDP 99.37/62.21 (529) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (530) QDP 99.37/62.21 (531) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (532) QDP 99.37/62.21 (533) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (534) QDP 99.37/62.21 (535) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (536) QDP 99.37/62.21 (537) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (538) QDP 99.37/62.21 (539) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (540) QDP 99.37/62.21 (541) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (542) QDP 99.37/62.21 (543) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (544) QDP 99.37/62.21 (545) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (546) QDP 99.37/62.21 (547) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (548) QDP 99.37/62.21 (549) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (550) QDP 99.37/62.21 (551) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (552) QDP 99.37/62.21 (553) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (554) QDP 99.37/62.21 (555) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (556) QDP 99.37/62.21 (557) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (558) QDP 99.37/62.21 (559) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (560) QDP 99.37/62.21 (561) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (562) QDP 99.37/62.21 (563) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (564) QDP 99.37/62.21 (565) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (566) QDP 99.37/62.21 (567) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (568) QDP 99.37/62.21 (569) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (570) QDP 99.37/62.21 (571) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (572) QDP 99.37/62.21 (573) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (574) QDP 99.37/62.21 (575) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (576) QDP 99.37/62.21 (577) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (578) QDP 99.37/62.21 (579) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (580) QDP 99.37/62.21 (581) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (582) QDP 99.37/62.21 (583) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (584) QDP 99.37/62.21 (585) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (586) QDP 99.37/62.21 (587) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (588) QDP 99.37/62.21 (589) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (590) QDP 99.37/62.21 (591) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (592) QDP 99.37/62.21 (593) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (594) QDP 99.37/62.21 (595) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (596) QDP 99.37/62.21 (597) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (598) QDP 99.37/62.21 (599) QDPOrderProof [EQUIVALENT, 186 ms] 99.37/62.21 (600) QDP 99.37/62.21 (601) InductionCalculusProof [EQUIVALENT, 0 ms] 99.37/62.21 (602) QDP 99.37/62.21 (603) QDP 99.37/62.21 (604) QDPSizeChangeProof [EQUIVALENT, 0 ms] 99.37/62.21 (605) YES 99.37/62.21 (606) QDP 99.37/62.21 (607) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (608) QDP 99.37/62.21 (609) TransformationProof [EQUIVALENT, 12 ms] 99.37/62.21 (610) QDP 99.37/62.21 (611) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (612) QDP 99.37/62.21 (613) QReductionProof [EQUIVALENT, 0 ms] 99.37/62.21 (614) QDP 99.37/62.21 (615) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (616) QDP 99.37/62.21 (617) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (618) QDP 99.37/62.21 (619) QReductionProof [EQUIVALENT, 0 ms] 99.37/62.21 (620) QDP 99.37/62.21 (621) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (622) QDP 99.37/62.21 (623) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (624) QDP 99.37/62.21 (625) QReductionProof [EQUIVALENT, 0 ms] 99.37/62.21 (626) QDP 99.37/62.21 (627) TransformationProof [EQUIVALENT, 0 ms] 99.37/62.21 (628) QDP 99.37/62.21 (629) DependencyGraphProof [EQUIVALENT, 0 ms] 99.37/62.21 (630) QDP 99.37/62.21 (631) UsableRulesProof [EQUIVALENT, 0 ms] 99.37/62.21 (632) QDP 99.37/62.21 (633) QReductionProof [EQUIVALENT, 0 ms] 101.72/62.86 (634) QDP 101.72/62.86 (635) MNOCProof [EQUIVALENT, 0 ms] 101.72/62.86 (636) QDP 101.72/62.86 (637) InductionCalculusProof [EQUIVALENT, 0 ms] 101.72/62.86 (638) QDP 101.72/62.86 (639) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (640) QDP 101.72/62.86 (641) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (642) QDP 101.72/62.86 (643) UsableRulesProof [EQUIVALENT, 0 ms] 101.72/62.86 (644) QDP 101.72/62.86 (645) QReductionProof [EQUIVALENT, 0 ms] 101.72/62.86 (646) QDP 101.72/62.86 (647) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (648) QDP 101.72/62.86 (649) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (650) QDP 101.72/62.86 (651) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (652) QDP 101.72/62.86 (653) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (654) QDP 101.72/62.86 (655) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (656) QDP 101.72/62.86 (657) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (658) QDP 101.72/62.86 (659) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (660) QDP 101.72/62.86 (661) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (662) QDP 101.72/62.86 (663) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (664) QDP 101.72/62.86 (665) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (666) QDP 101.72/62.86 (667) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (668) QDP 101.72/62.86 (669) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (670) QDP 101.72/62.86 (671) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (672) QDP 101.72/62.86 (673) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (674) QDP 101.72/62.86 (675) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (676) QDP 101.72/62.86 (677) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (678) QDP 101.72/62.86 (679) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (680) QDP 101.72/62.86 (681) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (682) QDP 101.72/62.86 (683) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (684) QDP 101.72/62.86 (685) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (686) QDP 101.72/62.86 (687) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (688) QDP 101.72/62.86 (689) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (690) QDP 101.72/62.86 (691) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (692) QDP 101.72/62.86 (693) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (694) QDP 101.72/62.86 (695) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (696) QDP 101.72/62.86 (697) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (698) QDP 101.72/62.86 (699) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (700) QDP 101.72/62.86 (701) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (702) QDP 101.72/62.86 (703) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (704) QDP 101.72/62.86 (705) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (706) QDP 101.72/62.86 (707) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (708) QDP 101.72/62.86 (709) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (710) QDP 101.72/62.86 (711) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (712) QDP 101.72/62.86 (713) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (714) QDP 101.72/62.86 (715) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (716) QDP 101.72/62.86 (717) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (718) QDP 101.72/62.86 (719) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (720) QDP 101.72/62.86 (721) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (722) QDP 101.72/62.86 (723) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (724) QDP 101.72/62.86 (725) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (726) QDP 101.72/62.86 (727) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (728) QDP 101.72/62.86 (729) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (730) QDP 101.72/62.86 (731) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (732) QDP 101.72/62.86 (733) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (734) QDP 101.72/62.86 (735) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (736) QDP 101.72/62.86 (737) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (738) QDP 101.72/62.86 (739) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (740) QDP 101.72/62.86 (741) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (742) QDP 101.72/62.86 (743) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (744) QDP 101.72/62.86 (745) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (746) QDP 101.72/62.86 (747) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (748) QDP 101.72/62.86 (749) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (750) QDP 101.72/62.86 (751) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (752) QDP 101.72/62.86 (753) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (754) QDP 101.72/62.86 (755) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (756) QDP 101.72/62.86 (757) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (758) QDP 101.72/62.86 (759) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (760) QDP 101.72/62.86 (761) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (762) QDP 101.72/62.86 (763) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (764) QDP 101.72/62.86 (765) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (766) QDP 101.72/62.86 (767) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (768) QDP 101.72/62.86 (769) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (770) QDP 101.72/62.86 (771) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (772) QDP 101.72/62.86 (773) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (774) QDP 101.72/62.86 (775) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (776) QDP 101.72/62.86 (777) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (778) QDP 101.72/62.86 (779) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (780) QDP 101.72/62.86 (781) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (782) QDP 101.72/62.86 (783) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (784) QDP 101.72/62.86 (785) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (786) QDP 101.72/62.86 (787) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (788) QDP 101.72/62.86 (789) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (790) QDP 101.72/62.86 (791) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (792) QDP 101.72/62.86 (793) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (794) QDP 101.72/62.86 (795) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (796) QDP 101.72/62.86 (797) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (798) QDP 101.72/62.86 (799) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (800) QDP 101.72/62.86 (801) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (802) QDP 101.72/62.86 (803) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (804) QDP 101.72/62.86 (805) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (806) QDP 101.72/62.86 (807) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (808) QDP 101.72/62.86 (809) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (810) QDP 101.72/62.86 (811) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (812) QDP 101.72/62.86 (813) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (814) QDP 101.72/62.86 (815) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (816) QDP 101.72/62.86 (817) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (818) QDP 101.72/62.86 (819) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (820) QDP 101.72/62.86 (821) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (822) QDP 101.72/62.86 (823) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (824) QDP 101.72/62.86 (825) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (826) QDP 101.72/62.86 (827) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (828) QDP 101.72/62.86 (829) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (830) QDP 101.72/62.86 (831) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (832) QDP 101.72/62.86 (833) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (834) QDP 101.72/62.86 (835) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (836) QDP 101.72/62.86 (837) TransformationProof [EQUIVALENT, 0 ms] 101.72/62.86 (838) QDP 101.72/62.86 (839) DependencyGraphProof [EQUIVALENT, 0 ms] 101.72/62.86 (840) QDP 101.72/62.86 (841) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (842) QDP 101.93/62.87 (843) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (844) QDP 101.93/62.87 (845) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (846) QDP 101.93/62.87 (847) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (848) QDP 101.93/62.87 (849) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (850) QDP 101.93/62.87 (851) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (852) QDP 101.93/62.87 (853) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (854) QDP 101.93/62.87 (855) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (856) QDP 101.93/62.87 (857) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (858) QDP 101.93/62.87 (859) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (860) QDP 101.93/62.87 (861) DependencyGraphProof [EQUIVALENT, 0 ms] 101.93/62.87 (862) QDP 101.93/62.87 (863) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (864) QDP 101.93/62.87 (865) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (866) QDP 101.93/62.87 (867) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (868) QDP 101.93/62.87 (869) DependencyGraphProof [EQUIVALENT, 0 ms] 101.93/62.87 (870) QDP 101.93/62.87 (871) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (872) QDP 101.93/62.87 (873) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (874) QDP 101.93/62.87 (875) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (876) QDP 101.93/62.87 (877) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (878) QDP 101.93/62.87 (879) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (880) QDP 101.93/62.87 (881) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (882) QDP 101.93/62.87 (883) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (884) QDP 101.93/62.87 (885) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (886) QDP 101.93/62.87 (887) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (888) QDP 101.93/62.87 (889) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (890) QDP 101.93/62.87 (891) DependencyGraphProof [EQUIVALENT, 0 ms] 101.93/62.87 (892) QDP 101.93/62.87 (893) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (894) QDP 101.93/62.87 (895) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (896) QDP 101.93/62.87 (897) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (898) QDP 101.93/62.87 (899) DependencyGraphProof [EQUIVALENT, 0 ms] 101.93/62.87 (900) QDP 101.93/62.87 (901) TransformationProof [EQUIVALENT, 0 ms] 101.93/62.87 (902) QDP 101.93/62.87 (903) QDPOrderProof [EQUIVALENT, 43 ms] 101.93/62.87 (904) QDP 101.93/62.87 (905) QDPOrderProof [EQUIVALENT, 0 ms] 101.93/62.87 (906) QDP 101.93/62.87 (907) MNOCProof [EQUIVALENT, 0 ms] 101.93/62.87 (908) QDP 101.93/62.87 (909) InductionCalculusProof [EQUIVALENT, 0 ms] 101.93/62.87 (910) QDP 101.93/62.87 (911) QDP 101.93/62.87 (912) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.93/62.87 (913) YES 101.93/62.87 (914) QDP 101.93/62.87 (915) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.93/62.87 (916) YES 101.93/62.87 (917) QDP 101.93/62.87 (918) DependencyGraphProof [EQUIVALENT, 0 ms] 101.93/62.87 (919) AND 101.93/62.87 (920) QDP 101.93/62.87 (921) MRRProof [EQUIVALENT, 0 ms] 101.93/62.87 (922) QDP 101.93/62.87 (923) PisEmptyProof [EQUIVALENT, 0 ms] 101.93/62.87 (924) YES 101.93/62.87 (925) QDP 101.93/62.87 (926) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.93/62.87 (927) YES 101.93/62.87 (928) QDP 101.93/62.87 (929) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.93/62.87 (930) YES 101.93/62.87 (931) QDP 101.93/62.87 (932) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.93/62.87 (933) YES 101.93/62.87 (934) QDP 101.93/62.87 (935) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.93/62.87 (936) YES 101.93/62.87 (937) QDP 101.93/62.87 (938) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.93/62.87 (939) YES 101.93/62.87 (940) QDP 101.93/62.87 (941) QDPSizeChangeProof [EQUIVALENT, 0 ms] 101.93/62.87 (942) YES 101.93/62.87 (943) Narrow [COMPLETE, 0 ms] 101.93/62.87 (944) TRUE 101.93/62.87 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (0) 101.93/62.87 Obligation: 101.93/62.87 mainModule Main 101.93/62.87 module Main where { 101.93/62.87 import qualified Prelude; 101.93/62.87 } 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (1) IFR (EQUIVALENT) 101.93/62.87 If Reductions: 101.93/62.87 The following If expression 101.93/62.87 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 101.93/62.87 is transformed to 101.93/62.87 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 101.93/62.87 primDivNatS0 x y False = Zero; 101.93/62.87 " 101.93/62.87 The following If expression 101.93/62.87 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 101.93/62.87 is transformed to 101.93/62.87 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 101.93/62.87 primModNatS0 x y False = Succ x; 101.93/62.87 " 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (2) 101.93/62.87 Obligation: 101.93/62.87 mainModule Main 101.93/62.87 module Main where { 101.93/62.87 import qualified Prelude; 101.93/62.87 } 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (3) BR (EQUIVALENT) 101.93/62.87 Replaced joker patterns by fresh variables and removed binding patterns. 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (4) 101.93/62.87 Obligation: 101.93/62.87 mainModule Main 101.93/62.87 module Main where { 101.93/62.87 import qualified Prelude; 101.93/62.87 } 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (5) COR (EQUIVALENT) 101.93/62.87 Cond Reductions: 101.93/62.87 The following Function with conditions 101.93/62.87 "absReal x|x >= 0x|otherwise`negate` x; 101.93/62.87 " 101.93/62.87 is transformed to 101.93/62.87 "absReal x = absReal2 x; 101.93/62.87 " 101.93/62.87 "absReal1 x True = x; 101.93/62.87 absReal1 x False = absReal0 x otherwise; 101.93/62.87 " 101.93/62.87 "absReal0 x True = `negate` x; 101.93/62.87 " 101.93/62.87 "absReal2 x = absReal1 x (x >= 0); 101.93/62.87 " 101.93/62.87 The following Function with conditions 101.93/62.87 "gcd' x 0 = x; 101.93/62.87 gcd' x y = gcd' y (x `rem` y); 101.93/62.87 " 101.93/62.87 is transformed to 101.93/62.87 "gcd' x xz = gcd'2 x xz; 101.93/62.87 gcd' x y = gcd'0 x y; 101.93/62.87 " 101.93/62.87 "gcd'0 x y = gcd' y (x `rem` y); 101.93/62.87 " 101.93/62.87 "gcd'1 True x xz = x; 101.93/62.87 gcd'1 yu yv yw = gcd'0 yv yw; 101.93/62.87 " 101.93/62.87 "gcd'2 x xz = gcd'1 (xz == 0) x xz; 101.93/62.87 gcd'2 yx yy = gcd'0 yx yy; 101.93/62.87 " 101.93/62.87 The following Function with conditions 101.93/62.87 "gcd 0 0 = error []; 101.93/62.87 gcd x y = gcd' (abs x) (abs y) where { 101.93/62.87 gcd' x 0 = x; 101.93/62.87 gcd' x y = gcd' y (x `rem` y); 101.93/62.87 } 101.93/62.87 ; 101.93/62.87 " 101.93/62.87 is transformed to 101.93/62.87 "gcd yz zu = gcd3 yz zu; 101.93/62.87 gcd x y = gcd0 x y; 101.93/62.87 " 101.93/62.87 "gcd0 x y = gcd' (abs x) (abs y) where { 101.93/62.87 gcd' x xz = gcd'2 x xz; 101.93/62.87 gcd' x y = gcd'0 x y; 101.93/62.87 ; 101.93/62.87 gcd'0 x y = gcd' y (x `rem` y); 101.93/62.87 ; 101.93/62.87 gcd'1 True x xz = x; 101.93/62.87 gcd'1 yu yv yw = gcd'0 yv yw; 101.93/62.87 ; 101.93/62.87 gcd'2 x xz = gcd'1 (xz == 0) x xz; 101.93/62.87 gcd'2 yx yy = gcd'0 yx yy; 101.93/62.87 } 101.93/62.87 ; 101.93/62.87 " 101.93/62.87 "gcd1 True yz zu = error []; 101.93/62.87 gcd1 zv zw zx = gcd0 zw zx; 101.93/62.87 " 101.93/62.87 "gcd2 True yz zu = gcd1 (zu == 0) yz zu; 101.93/62.87 gcd2 zy zz vuu = gcd0 zz vuu; 101.93/62.87 " 101.93/62.87 "gcd3 yz zu = gcd2 (yz == 0) yz zu; 101.93/62.87 gcd3 vuv vuw = gcd0 vuv vuw; 101.93/62.87 " 101.93/62.87 The following Function with conditions 101.93/62.87 "undefined |Falseundefined; 101.93/62.87 " 101.93/62.87 is transformed to 101.93/62.87 "undefined = undefined1; 101.93/62.87 " 101.93/62.87 "undefined0 True = undefined; 101.93/62.87 " 101.93/62.87 "undefined1 = undefined0 False; 101.93/62.87 " 101.93/62.87 The following Function with conditions 101.93/62.87 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 101.93/62.87 d = gcd x y; 101.93/62.87 } 101.93/62.87 ; 101.93/62.87 " 101.93/62.87 is transformed to 101.93/62.87 "reduce x y = reduce2 x y; 101.93/62.87 " 101.93/62.87 "reduce2 x y = reduce1 x y (y == 0) where { 101.93/62.87 d = gcd x y; 101.93/62.87 ; 101.93/62.87 reduce0 x y True = x `quot` d :% (y `quot` d); 101.93/62.87 ; 101.93/62.87 reduce1 x y True = error []; 101.93/62.87 reduce1 x y False = reduce0 x y otherwise; 101.93/62.87 } 101.93/62.87 ; 101.93/62.87 " 101.93/62.87 The following Function with conditions 101.93/62.87 "signumReal x|x == 00|x > 01|otherwise-1; 101.93/62.87 " 101.93/62.87 is transformed to 101.93/62.87 "signumReal x = signumReal3 x; 101.93/62.87 " 101.93/62.87 "signumReal2 x True = 0; 101.93/62.87 signumReal2 x False = signumReal1 x (x > 0); 101.93/62.87 " 101.93/62.87 "signumReal0 x True = -1; 101.93/62.87 " 101.93/62.87 "signumReal1 x True = 1; 101.93/62.87 signumReal1 x False = signumReal0 x otherwise; 101.93/62.87 " 101.93/62.87 "signumReal3 x = signumReal2 x (x == 0); 101.93/62.87 " 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (6) 101.93/62.87 Obligation: 101.93/62.87 mainModule Main 101.93/62.87 module Main where { 101.93/62.87 import qualified Prelude; 101.93/62.87 } 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (7) LetRed (EQUIVALENT) 101.93/62.87 Let/Where Reductions: 101.93/62.87 The bindings of the following Let/Where expression 101.93/62.87 "gcd' (abs x) (abs y) where { 101.93/62.87 gcd' x xz = gcd'2 x xz; 101.93/62.87 gcd' x y = gcd'0 x y; 101.93/62.87 ; 101.93/62.87 gcd'0 x y = gcd' y (x `rem` y); 101.93/62.87 ; 101.93/62.87 gcd'1 True x xz = x; 101.93/62.87 gcd'1 yu yv yw = gcd'0 yv yw; 101.93/62.87 ; 101.93/62.87 gcd'2 x xz = gcd'1 (xz == 0) x xz; 101.93/62.87 gcd'2 yx yy = gcd'0 yx yy; 101.93/62.87 } 101.93/62.87 " 101.93/62.87 are unpacked to the following functions on top level 101.93/62.87 "gcd0Gcd' x xz = gcd0Gcd'2 x xz; 101.93/62.87 gcd0Gcd' x y = gcd0Gcd'0 x y; 101.93/62.87 " 101.93/62.87 "gcd0Gcd'1 True x xz = x; 101.93/62.87 gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; 101.93/62.87 " 101.93/62.87 "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; 101.93/62.87 gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; 101.93/62.87 " 101.93/62.87 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 101.93/62.87 " 101.93/62.87 The bindings of the following Let/Where expression 101.93/62.87 "reduce1 x y (y == 0) where { 101.93/62.87 d = gcd x y; 101.93/62.87 ; 101.93/62.87 reduce0 x y True = x `quot` d :% (y `quot` d); 101.93/62.87 ; 101.93/62.87 reduce1 x y True = error []; 101.93/62.87 reduce1 x y False = reduce0 x y otherwise; 101.93/62.87 } 101.93/62.87 " 101.93/62.87 are unpacked to the following functions on top level 101.93/62.87 "reduce2Reduce1 vux vuy x y True = error []; 101.93/62.87 reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; 101.93/62.87 " 101.93/62.87 "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); 101.93/62.87 " 101.93/62.87 "reduce2D vux vuy = gcd vux vuy; 101.93/62.87 " 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (8) 101.93/62.87 Obligation: 101.93/62.87 mainModule Main 101.93/62.87 module Main where { 101.93/62.87 import qualified Prelude; 101.93/62.87 } 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (9) NumRed (SOUND) 101.93/62.87 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (10) 101.93/62.87 Obligation: 101.93/62.87 mainModule Main 101.93/62.87 module Main where { 101.93/62.87 import qualified Prelude; 101.93/62.87 } 101.93/62.87 101.93/62.87 ---------------------------------------- 101.93/62.87 101.93/62.87 (11) Narrow (SOUND) 101.93/62.87 Haskell To QDPs 101.93/62.87 101.93/62.87 digraph dp_graph { 101.93/62.87 node [outthreshold=100, inthreshold=100];1[label="fromDouble",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 101.93/62.87 3[label="fromDouble vuz3",fontsize=16,color="blue",shape="box"];8234[label="fromDouble :: Double -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3 -> 8234[label="",style="solid", color="blue", weight=9]; 101.93/62.87 8234 -> 4[label="",style="solid", color="blue", weight=3]; 101.93/62.87 8235[label="fromDouble :: Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3 -> 8235[label="",style="solid", color="blue", weight=9]; 101.93/62.87 8235 -> 5[label="",style="solid", color="blue", weight=3]; 101.93/62.87 8236[label="fromDouble :: Double -> Float",fontsize=10,color="white",style="solid",shape="box"];3 -> 8236[label="",style="solid", color="blue", weight=9]; 101.93/62.87 8236 -> 6[label="",style="solid", color="blue", weight=3]; 101.93/62.87 4[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];4 -> 7[label="",style="solid", color="black", weight=3]; 101.93/62.87 5[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];5 -> 8[label="",style="solid", color="black", weight=3]; 101.93/62.87 6[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];6 -> 9[label="",style="solid", color="black", weight=3]; 101.93/62.87 7[label="doubleToRatio vuz3",fontsize=16,color="burlywood",shape="box"];8237[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];7 -> 8237[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8237 -> 10[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8[label="vuz3",fontsize=16,color="green",shape="box"];9[label="doubleToFloat vuz3",fontsize=16,color="burlywood",shape="box"];8238[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];9 -> 8238[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8238 -> 11[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 10[label="doubleToRatio (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 101.93/62.87 11[label="doubleToFloat (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 101.93/62.87 12[label="fromInt vuz30 % fromInt vuz31",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 101.93/62.87 13[label="Float vuz30 vuz31",fontsize=16,color="green",shape="box"];14[label="reduce (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 101.93/62.87 15[label="reduce2 (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31))",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 101.93/62.87 16 -> 17[label="",style="dashed", color="red", weight=0]; 101.93/62.87 16[label="reduce2Reduce1 (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31)) (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31)) (abs (fromInt vuz31) == fromInt (Pos Zero))",fontsize=16,color="magenta"];16 -> 18[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 16 -> 19[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 16 -> 20[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 18[label="vuz31",fontsize=16,color="green",shape="box"];19[label="vuz30",fontsize=16,color="green",shape="box"];20[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];8239[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];20 -> 8239[label="",style="solid", color="blue", weight=9]; 101.93/62.87 8239 -> 21[label="",style="solid", color="blue", weight=3]; 101.93/62.87 8240[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];20 -> 8240[label="",style="solid", color="blue", weight=9]; 101.93/62.87 8240 -> 22[label="",style="solid", color="blue", weight=3]; 101.93/62.87 17[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) vuz10",fontsize=16,color="burlywood",shape="triangle"];8241[label="vuz10/False",fontsize=10,color="white",style="solid",shape="box"];17 -> 8241[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8241 -> 23[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8242[label="vuz10/True",fontsize=10,color="white",style="solid",shape="box"];17 -> 8242[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8242 -> 24[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 21 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.87 21[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="magenta"];21 -> 2583[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 22[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 101.93/62.87 23[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) False",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 101.93/62.87 24[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) True",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 101.93/62.87 2583 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.87 2583[label="abs (fromInt vuz31)",fontsize=16,color="magenta"];2583 -> 2609[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 2582[label="vuz170 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];2582 -> 2610[label="",style="solid", color="black", weight=3]; 101.93/62.87 26[label="absReal (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 101.93/62.87 27[label="reduce2Reduce0 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) otherwise",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 101.93/62.87 28[label="error []",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 101.93/62.87 2609[label="fromInt vuz31",fontsize=16,color="black",shape="triangle"];2609 -> 2646[label="",style="solid", color="black", weight=3]; 101.93/62.87 2348[label="abs vuz158",fontsize=16,color="black",shape="triangle"];2348 -> 2437[label="",style="solid", color="black", weight=3]; 101.93/62.87 2610 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.87 2610[label="primEqInt vuz170 (fromInt (Pos Zero))",fontsize=16,color="magenta"];2610 -> 2648[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 30[label="absReal2 (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 101.93/62.87 31[label="reduce2Reduce0 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) True",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 101.93/62.87 32[label="error []",fontsize=16,color="red",shape="box"];2646[label="vuz31",fontsize=16,color="green",shape="box"];2437[label="absReal vuz158",fontsize=16,color="black",shape="box"];2437 -> 2483[label="",style="solid", color="black", weight=3]; 101.93/62.87 2648 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.87 2648[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2648 -> 2891[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 2647[label="primEqInt vuz170 vuz173",fontsize=16,color="burlywood",shape="triangle"];8243[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];2647 -> 8243[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8243 -> 2892[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8244[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];2647 -> 8244[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8244 -> 2893[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 34[label="absReal1 (fromInt vuz31) (fromInt vuz31 >= fromInt (Pos Zero)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];34 -> 37[label="",style="solid", color="black", weight=3]; 101.93/62.87 35[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) :% (abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="green",shape="box"];35 -> 38[label="",style="dashed", color="green", weight=3]; 101.93/62.87 35 -> 39[label="",style="dashed", color="green", weight=3]; 101.93/62.87 2483[label="absReal2 vuz158",fontsize=16,color="black",shape="box"];2483 -> 2531[label="",style="solid", color="black", weight=3]; 101.93/62.87 2891[label="Pos Zero",fontsize=16,color="green",shape="box"];2892[label="primEqInt (Pos vuz1700) vuz173",fontsize=16,color="burlywood",shape="box"];8245[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];2892 -> 8245[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8245 -> 2896[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8246[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];2892 -> 8246[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8246 -> 2897[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2893[label="primEqInt (Neg vuz1700) vuz173",fontsize=16,color="burlywood",shape="box"];8247[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];2893 -> 8247[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8247 -> 2898[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8248[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];2893 -> 8248[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8248 -> 2899[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 37[label="absReal1 (fromInt vuz31) (compare (fromInt vuz31) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];37 -> 41[label="",style="solid", color="black", weight=3]; 101.93/62.87 38[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="blue",shape="box"];8249[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];38 -> 8249[label="",style="solid", color="blue", weight=9]; 101.93/62.87 8249 -> 42[label="",style="solid", color="blue", weight=3]; 101.93/62.87 8250[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];38 -> 8250[label="",style="solid", color="blue", weight=9]; 101.93/62.87 8250 -> 43[label="",style="solid", color="blue", weight=3]; 101.93/62.87 39[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="blue",shape="box"];8251[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];39 -> 8251[label="",style="solid", color="blue", weight=9]; 101.93/62.87 8251 -> 44[label="",style="solid", color="blue", weight=3]; 101.93/62.87 8252[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];39 -> 8252[label="",style="solid", color="blue", weight=9]; 101.93/62.87 8252 -> 45[label="",style="solid", color="blue", weight=3]; 101.93/62.87 2531[label="absReal1 vuz158 (vuz158 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2531 -> 2545[label="",style="solid", color="black", weight=3]; 101.93/62.87 2896[label="primEqInt (Pos (Succ vuz17000)) vuz173",fontsize=16,color="burlywood",shape="box"];8253[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2896 -> 8253[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8253 -> 2955[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8254[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2896 -> 8254[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8254 -> 2956[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2897[label="primEqInt (Pos Zero) vuz173",fontsize=16,color="burlywood",shape="box"];8255[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2897 -> 8255[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8255 -> 2957[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8256[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2897 -> 8256[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8256 -> 2958[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2898[label="primEqInt (Neg (Succ vuz17000)) vuz173",fontsize=16,color="burlywood",shape="box"];8257[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2898 -> 8257[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8257 -> 2959[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8258[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2898 -> 8258[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8258 -> 2960[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2899[label="primEqInt (Neg Zero) vuz173",fontsize=16,color="burlywood",shape="box"];8259[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2899 -> 8259[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8259 -> 2961[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8260[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2899 -> 8260[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8260 -> 2962[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 41[label="absReal1 (fromInt vuz31) (not (compare (fromInt vuz31) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];41 -> 47[label="",style="solid", color="black", weight=3]; 101.93/62.87 42[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];42 -> 48[label="",style="solid", color="black", weight=3]; 101.93/62.87 43[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];43 -> 49[label="",style="solid", color="black", weight=3]; 101.93/62.87 44[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];44 -> 50[label="",style="solid", color="black", weight=3]; 101.93/62.87 45[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];45 -> 51[label="",style="solid", color="black", weight=3]; 101.93/62.87 2545 -> 2894[label="",style="dashed", color="red", weight=0]; 101.93/62.87 2545[label="absReal1 vuz158 (compare vuz158 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="magenta"];2545 -> 2895[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 2955[label="primEqInt (Pos (Succ vuz17000)) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8261[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2955 -> 8261[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8261 -> 2979[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8262[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2955 -> 8262[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8262 -> 2980[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2956[label="primEqInt (Pos (Succ vuz17000)) (Neg vuz1730)",fontsize=16,color="black",shape="box"];2956 -> 2981[label="",style="solid", color="black", weight=3]; 101.93/62.87 2957[label="primEqInt (Pos Zero) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8263[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2957 -> 8263[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8263 -> 2982[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8264[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2957 -> 8264[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8264 -> 2983[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2958[label="primEqInt (Pos Zero) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8265[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2958 -> 8265[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8265 -> 2984[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8266[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2958 -> 8266[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8266 -> 2985[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2959[label="primEqInt (Neg (Succ vuz17000)) (Pos vuz1730)",fontsize=16,color="black",shape="box"];2959 -> 2986[label="",style="solid", color="black", weight=3]; 101.93/62.87 2960[label="primEqInt (Neg (Succ vuz17000)) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8267[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2960 -> 8267[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8267 -> 2987[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8268[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2960 -> 8268[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8268 -> 2988[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2961[label="primEqInt (Neg Zero) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8269[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2961 -> 8269[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8269 -> 2989[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8270[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2961 -> 8270[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8270 -> 2990[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2962[label="primEqInt (Neg Zero) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8271[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2962 -> 8271[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8271 -> 2991[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8272[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2962 -> 8272[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8272 -> 2992[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 47[label="absReal1 (Integer vuz31) (not (compare (Integer vuz31) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];47 -> 53[label="",style="solid", color="black", weight=3]; 101.93/62.87 48[label="primQuotInt (fromInt vuz8 * signum (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];48 -> 54[label="",style="solid", color="black", weight=3]; 101.93/62.87 49[label="Integer vuz8 * signum (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];49 -> 55[label="",style="solid", color="black", weight=3]; 101.93/62.87 50[label="primQuotInt (abs (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];50 -> 56[label="",style="solid", color="black", weight=3]; 101.93/62.87 51[label="absReal (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal (fromInt vuz9))",fontsize=16,color="black",shape="box"];51 -> 57[label="",style="solid", color="black", weight=3]; 101.93/62.87 2895 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.87 2895[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2895 -> 2900[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 2894[label="absReal1 vuz158 (compare vuz158 vuz174 /= LT)",fontsize=16,color="black",shape="triangle"];2894 -> 2901[label="",style="solid", color="black", weight=3]; 101.93/62.87 2979[label="primEqInt (Pos (Succ vuz17000)) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2979 -> 3059[label="",style="solid", color="black", weight=3]; 101.93/62.87 2980[label="primEqInt (Pos (Succ vuz17000)) (Pos Zero)",fontsize=16,color="black",shape="box"];2980 -> 3060[label="",style="solid", color="black", weight=3]; 101.93/62.87 2981[label="False",fontsize=16,color="green",shape="box"];2982[label="primEqInt (Pos Zero) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2982 -> 3061[label="",style="solid", color="black", weight=3]; 101.93/62.87 2983[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2983 -> 3062[label="",style="solid", color="black", weight=3]; 101.93/62.87 2984[label="primEqInt (Pos Zero) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2984 -> 3063[label="",style="solid", color="black", weight=3]; 101.93/62.87 2985[label="primEqInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2985 -> 3064[label="",style="solid", color="black", weight=3]; 101.93/62.87 2986[label="False",fontsize=16,color="green",shape="box"];2987[label="primEqInt (Neg (Succ vuz17000)) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2987 -> 3065[label="",style="solid", color="black", weight=3]; 101.93/62.87 2988[label="primEqInt (Neg (Succ vuz17000)) (Neg Zero)",fontsize=16,color="black",shape="box"];2988 -> 3066[label="",style="solid", color="black", weight=3]; 101.93/62.87 2989[label="primEqInt (Neg Zero) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2989 -> 3067[label="",style="solid", color="black", weight=3]; 101.93/62.87 2990[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2990 -> 3068[label="",style="solid", color="black", weight=3]; 101.93/62.87 2991[label="primEqInt (Neg Zero) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2991 -> 3069[label="",style="solid", color="black", weight=3]; 101.93/62.87 2992[label="primEqInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2992 -> 3070[label="",style="solid", color="black", weight=3]; 101.93/62.87 53[label="absReal1 (Integer vuz31) (not (compare (Integer vuz31) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];53 -> 59[label="",style="solid", color="black", weight=3]; 101.93/62.87 54[label="primQuotInt (primMulInt (fromInt vuz8) (signum (fromInt vuz9))) (reduce2D (primMulInt (fromInt vuz8) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];54 -> 60[label="",style="solid", color="black", weight=3]; 101.93/62.87 55[label="Integer vuz8 * signumReal (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signumReal (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];55 -> 61[label="",style="solid", color="black", weight=3]; 101.93/62.87 56[label="primQuotInt (absReal (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal (fromInt vuz9)))",fontsize=16,color="black",shape="box"];56 -> 62[label="",style="solid", color="black", weight=3]; 101.93/62.87 57[label="absReal2 (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal2 (fromInt vuz9))",fontsize=16,color="black",shape="box"];57 -> 63[label="",style="solid", color="black", weight=3]; 101.93/62.87 2900[label="Pos Zero",fontsize=16,color="green",shape="box"];2901[label="absReal1 vuz158 (not (compare vuz158 vuz174 == LT))",fontsize=16,color="black",shape="box"];2901 -> 2963[label="",style="solid", color="black", weight=3]; 101.93/62.87 3059[label="primEqNat vuz17000 vuz17300",fontsize=16,color="burlywood",shape="triangle"];8273[label="vuz17000/Succ vuz170000",fontsize=10,color="white",style="solid",shape="box"];3059 -> 8273[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8273 -> 3106[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8274[label="vuz17000/Zero",fontsize=10,color="white",style="solid",shape="box"];3059 -> 8274[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8274 -> 3107[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3060[label="False",fontsize=16,color="green",shape="box"];3061[label="False",fontsize=16,color="green",shape="box"];3062[label="True",fontsize=16,color="green",shape="box"];3063[label="False",fontsize=16,color="green",shape="box"];3064[label="True",fontsize=16,color="green",shape="box"];3065 -> 3059[label="",style="dashed", color="red", weight=0]; 101.93/62.87 3065[label="primEqNat vuz17000 vuz17300",fontsize=16,color="magenta"];3065 -> 3108[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3065 -> 3109[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3066[label="False",fontsize=16,color="green",shape="box"];3067[label="False",fontsize=16,color="green",shape="box"];3068[label="True",fontsize=16,color="green",shape="box"];3069[label="False",fontsize=16,color="green",shape="box"];3070[label="True",fontsize=16,color="green",shape="box"];59[label="absReal1 (Integer vuz31) (not (primCmpInt vuz31 (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8275[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];59 -> 8275[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8275 -> 66[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8276[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];59 -> 8276[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8276 -> 67[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 60[label="primQuotInt (primMulInt vuz8 (signum (fromInt vuz9))) (reduce2D (primMulInt vuz8 (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="burlywood",shape="box"];8277[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];60 -> 8277[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8277 -> 68[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8278[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];60 -> 8278[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8278 -> 69[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 61[label="Integer vuz8 * signumReal3 (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signumReal3 (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 101.93/62.87 62[label="primQuotInt (absReal2 (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal2 (fromInt vuz9)))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 101.93/62.87 63[label="absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero)) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 101.93/62.87 2963[label="absReal1 vuz158 (not (primCmpInt vuz158 vuz174 == LT))",fontsize=16,color="burlywood",shape="triangle"];8279[label="vuz158/Pos vuz1580",fontsize=10,color="white",style="solid",shape="box"];2963 -> 8279[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8279 -> 2993[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8280[label="vuz158/Neg vuz1580",fontsize=10,color="white",style="solid",shape="box"];2963 -> 8280[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8280 -> 2994[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3106[label="primEqNat (Succ vuz170000) vuz17300",fontsize=16,color="burlywood",shape="box"];8281[label="vuz17300/Succ vuz173000",fontsize=10,color="white",style="solid",shape="box"];3106 -> 8281[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8281 -> 3153[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8282[label="vuz17300/Zero",fontsize=10,color="white",style="solid",shape="box"];3106 -> 8282[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8282 -> 3154[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3107[label="primEqNat Zero vuz17300",fontsize=16,color="burlywood",shape="box"];8283[label="vuz17300/Succ vuz173000",fontsize=10,color="white",style="solid",shape="box"];3107 -> 8283[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8283 -> 3155[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8284[label="vuz17300/Zero",fontsize=10,color="white",style="solid",shape="box"];3107 -> 8284[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8284 -> 3156[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3108[label="vuz17000",fontsize=16,color="green",shape="box"];3109[label="vuz17300",fontsize=16,color="green",shape="box"];66[label="absReal1 (Integer (Pos vuz310)) (not (primCmpInt (Pos vuz310) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8285[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];66 -> 8285[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8285 -> 77[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8286[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 8286[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8286 -> 78[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 67[label="absReal1 (Integer (Neg vuz310)) (not (primCmpInt (Neg vuz310) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8287[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];67 -> 8287[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8287 -> 79[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8288[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 8288[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8288 -> 80[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 68[label="primQuotInt (primMulInt (Pos vuz80) (signum (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];68 -> 81[label="",style="solid", color="black", weight=3]; 101.93/62.87 69[label="primQuotInt (primMulInt (Neg vuz80) (signum (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];69 -> 82[label="",style="solid", color="black", weight=3]; 101.93/62.87 70[label="Integer vuz8 * signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero))) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];70 -> 83[label="",style="solid", color="black", weight=3]; 101.93/62.87 71[label="primQuotInt (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero))))",fontsize=16,color="black",shape="box"];71 -> 84[label="",style="solid", color="black", weight=3]; 101.93/62.87 72[label="absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];72 -> 85[label="",style="solid", color="black", weight=3]; 101.93/62.87 2993[label="absReal1 (Pos vuz1580) (not (primCmpInt (Pos vuz1580) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8289[label="vuz1580/Succ vuz15800",fontsize=10,color="white",style="solid",shape="box"];2993 -> 8289[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8289 -> 3071[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8290[label="vuz1580/Zero",fontsize=10,color="white",style="solid",shape="box"];2993 -> 8290[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8290 -> 3072[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 2994[label="absReal1 (Neg vuz1580) (not (primCmpInt (Neg vuz1580) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8291[label="vuz1580/Succ vuz15800",fontsize=10,color="white",style="solid",shape="box"];2994 -> 8291[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8291 -> 3073[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8292[label="vuz1580/Zero",fontsize=10,color="white",style="solid",shape="box"];2994 -> 8292[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8292 -> 3074[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3153[label="primEqNat (Succ vuz170000) (Succ vuz173000)",fontsize=16,color="black",shape="box"];3153 -> 3173[label="",style="solid", color="black", weight=3]; 101.93/62.87 3154[label="primEqNat (Succ vuz170000) Zero",fontsize=16,color="black",shape="box"];3154 -> 3174[label="",style="solid", color="black", weight=3]; 101.93/62.87 3155[label="primEqNat Zero (Succ vuz173000)",fontsize=16,color="black",shape="box"];3155 -> 3175[label="",style="solid", color="black", weight=3]; 101.93/62.87 3156[label="primEqNat Zero Zero",fontsize=16,color="black",shape="box"];3156 -> 3176[label="",style="solid", color="black", weight=3]; 101.93/62.87 77[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (primCmpInt (Pos (Succ vuz3100)) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];77 -> 90[label="",style="solid", color="black", weight=3]; 101.93/62.87 78[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];78 -> 91[label="",style="solid", color="black", weight=3]; 101.93/62.87 79[label="absReal1 (Integer (Neg (Succ vuz3100))) (not (primCmpInt (Neg (Succ vuz3100)) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];79 -> 92[label="",style="solid", color="black", weight=3]; 101.93/62.87 80[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];80 -> 93[label="",style="solid", color="black", weight=3]; 101.93/62.87 81[label="primQuotInt (primMulInt (Pos vuz80) (signumReal (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signumReal (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];81 -> 94[label="",style="solid", color="black", weight=3]; 101.93/62.87 82[label="primQuotInt (primMulInt (Neg vuz80) (signumReal (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signumReal (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];82 -> 95[label="",style="solid", color="black", weight=3]; 101.93/62.87 83[label="Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == fromInt (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="black",shape="box"];83 -> 96[label="",style="solid", color="black", weight=3]; 101.93/62.87 84[label="primQuotInt (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT)))",fontsize=16,color="black",shape="box"];84 -> 97[label="",style="solid", color="black", weight=3]; 101.93/62.87 85[label="absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];85 -> 98[label="",style="solid", color="black", weight=3]; 101.93/62.87 3071[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8293[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3071 -> 8293[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8293 -> 3110[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8294[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3071 -> 8294[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8294 -> 3111[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3072[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8295[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3072 -> 8295[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8295 -> 3112[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8296[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3072 -> 8296[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8296 -> 3113[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3073[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8297[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3073 -> 8297[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8297 -> 3114[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8298[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3073 -> 8298[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8298 -> 3115[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3074[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8299[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3074 -> 8299[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8299 -> 3116[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8300[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3074 -> 8300[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8300 -> 3117[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3173 -> 3059[label="",style="dashed", color="red", weight=0]; 101.93/62.87 3173[label="primEqNat vuz170000 vuz173000",fontsize=16,color="magenta"];3173 -> 3218[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3173 -> 3219[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3174[label="False",fontsize=16,color="green",shape="box"];3175[label="False",fontsize=16,color="green",shape="box"];3176[label="True",fontsize=16,color="green",shape="box"];90[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (primCmpNat (Succ vuz3100) Zero == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];90 -> 103[label="",style="solid", color="black", weight=3]; 101.93/62.87 91[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];91 -> 104[label="",style="solid", color="black", weight=3]; 101.93/62.87 92[label="absReal1 (Integer (Neg (Succ vuz3100))) (not (LT == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];92 -> 105[label="",style="solid", color="black", weight=3]; 101.93/62.87 93[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];93 -> 106[label="",style="solid", color="black", weight=3]; 101.93/62.87 94[label="primQuotInt (primMulInt (Pos vuz80) (signumReal3 (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signumReal3 (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];94 -> 107[label="",style="solid", color="black", weight=3]; 101.93/62.87 95[label="primQuotInt (primMulInt (Neg vuz80) (signumReal3 (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signumReal3 (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];95 -> 108[label="",style="solid", color="black", weight=3]; 101.93/62.87 96[label="Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == Integer (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == Integer (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="black",shape="box"];96 -> 109[label="",style="solid", color="black", weight=3]; 101.93/62.87 97[label="primQuotInt (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];97 -> 110[label="",style="solid", color="black", weight=3]; 101.93/62.87 98[label="absReal1 (Integer vuz9) (not (compare (Integer vuz9) (fromInt (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (compare (Integer vuz9) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];98 -> 111[label="",style="solid", color="black", weight=3]; 101.93/62.87 3110[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) (Pos vuz1740) == LT))",fontsize=16,color="black",shape="box"];3110 -> 3157[label="",style="solid", color="black", weight=3]; 101.93/62.87 3111[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) (Neg vuz1740) == LT))",fontsize=16,color="black",shape="box"];3111 -> 3158[label="",style="solid", color="black", weight=3]; 101.93/62.87 3112[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8301[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3112 -> 8301[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8301 -> 3159[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8302[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3112 -> 8302[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8302 -> 3160[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3113[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8303[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3113 -> 8303[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8303 -> 3161[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8304[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3113 -> 8304[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8304 -> 3162[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3114[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) (Pos vuz1740) == LT))",fontsize=16,color="black",shape="box"];3114 -> 3163[label="",style="solid", color="black", weight=3]; 101.93/62.87 3115[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) (Neg vuz1740) == LT))",fontsize=16,color="black",shape="box"];3115 -> 3164[label="",style="solid", color="black", weight=3]; 101.93/62.87 3116[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8305[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3116 -> 8305[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8305 -> 3165[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8306[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3116 -> 8306[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8306 -> 3166[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3117[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8307[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3117 -> 8307[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8307 -> 3167[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8308[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3117 -> 8308[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8308 -> 3168[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 3218[label="vuz170000",fontsize=16,color="green",shape="box"];3219[label="vuz173000",fontsize=16,color="green",shape="box"];103[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (GT == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];103 -> 116[label="",style="solid", color="black", weight=3]; 101.93/62.87 104[label="absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];104 -> 117[label="",style="solid", color="black", weight=3]; 101.93/62.87 105[label="absReal1 (Integer (Neg (Succ vuz3100))) (not True) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];105 -> 118[label="",style="solid", color="black", weight=3]; 101.93/62.87 106[label="absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];106 -> 119[label="",style="solid", color="black", weight=3]; 101.93/62.87 107[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];107 -> 120[label="",style="solid", color="black", weight=3]; 101.93/62.87 108[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];108 -> 121[label="",style="solid", color="black", weight=3]; 101.93/62.87 109[label="Integer vuz8 * signumReal2 (Integer vuz9) (primEqInt vuz9 (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (primEqInt vuz9 (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="burlywood",shape="box"];8309[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];109 -> 8309[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8309 -> 122[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8310[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];109 -> 8310[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8310 -> 123[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 110[label="primQuotInt (absReal1 (fromInt vuz9) (not (primCmpInt (fromInt vuz9) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (primCmpInt (fromInt vuz9) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];110 -> 124[label="",style="solid", color="black", weight=3]; 101.93/62.87 111[label="absReal1 (Integer vuz9) (not (compare (Integer vuz9) (Integer (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (compare (Integer vuz9) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];111 -> 125[label="",style="solid", color="black", weight=3]; 101.93/62.87 3157 -> 4585[label="",style="dashed", color="red", weight=0]; 101.93/62.87 3157[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpNat (Succ vuz15800) vuz1740 == LT))",fontsize=16,color="magenta"];3157 -> 4586[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3157 -> 4587[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3157 -> 4588[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3158[label="absReal1 (Pos (Succ vuz15800)) (not (GT == LT))",fontsize=16,color="black",shape="triangle"];3158 -> 3179[label="",style="solid", color="black", weight=3]; 101.93/62.87 3159[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3159 -> 3180[label="",style="solid", color="black", weight=3]; 101.93/62.87 3160[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3160 -> 3181[label="",style="solid", color="black", weight=3]; 101.93/62.87 3161[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3161 -> 3182[label="",style="solid", color="black", weight=3]; 101.93/62.87 3162[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];3162 -> 3183[label="",style="solid", color="black", weight=3]; 101.93/62.87 3163[label="absReal1 (Neg (Succ vuz15800)) (not (LT == LT))",fontsize=16,color="black",shape="triangle"];3163 -> 3184[label="",style="solid", color="black", weight=3]; 101.93/62.87 3164 -> 4618[label="",style="dashed", color="red", weight=0]; 101.93/62.87 3164[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpNat vuz1740 (Succ vuz15800) == LT))",fontsize=16,color="magenta"];3164 -> 4619[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3164 -> 4620[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3164 -> 4621[label="",style="dashed", color="magenta", weight=3]; 101.93/62.87 3165[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3165 -> 3187[label="",style="solid", color="black", weight=3]; 101.93/62.87 3166[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3166 -> 3188[label="",style="solid", color="black", weight=3]; 101.93/62.87 3167[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3167 -> 3189[label="",style="solid", color="black", weight=3]; 101.93/62.87 3168[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];3168 -> 3190[label="",style="solid", color="black", weight=3]; 101.93/62.87 116[label="absReal1 (Integer (Pos (Succ vuz3100))) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];116 -> 130[label="",style="solid", color="black", weight=3]; 101.93/62.87 117[label="absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];117 -> 131[label="",style="solid", color="black", weight=3]; 101.93/62.87 118[label="absReal1 (Integer (Neg (Succ vuz3100))) False == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];118 -> 132[label="",style="solid", color="black", weight=3]; 101.93/62.87 119[label="absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];119 -> 133[label="",style="solid", color="black", weight=3]; 101.93/62.87 120[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];120 -> 134[label="",style="solid", color="black", weight=3]; 101.93/62.87 121[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];121 -> 135[label="",style="solid", color="black", weight=3]; 101.93/62.87 122[label="Integer vuz8 * signumReal2 (Integer (Pos vuz90)) (primEqInt (Pos vuz90) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos vuz90)) (primEqInt (Pos vuz90) (Pos Zero))) (abs (Integer (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8311[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];122 -> 8311[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8311 -> 136[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8312[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 8312[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8312 -> 137[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 123[label="Integer vuz8 * signumReal2 (Integer (Neg vuz90)) (primEqInt (Neg vuz90) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg vuz90)) (primEqInt (Neg vuz90) (Pos Zero))) (abs (Integer (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8313[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];123 -> 8313[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8313 -> 138[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8314[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 8314[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8314 -> 139[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 124[label="primQuotInt (absReal1 vuz9 (not (primCmpInt vuz9 (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum vuz9) (absReal1 vuz9 (not (primCmpInt vuz9 (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8315[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];124 -> 8315[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8315 -> 140[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8316[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];124 -> 8316[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8316 -> 141[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 125[label="absReal1 (Integer vuz9) (not (primCmpInt vuz9 (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (primCmpInt vuz9 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8317[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];125 -> 8317[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8317 -> 142[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 8318[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];125 -> 8318[label="",style="solid", color="burlywood", weight=9]; 101.93/62.87 8318 -> 143[label="",style="solid", color="burlywood", weight=3]; 101.93/62.87 4586[label="vuz1740",fontsize=16,color="green",shape="box"];4587[label="Succ vuz15800",fontsize=16,color="green",shape="box"];4588[label="vuz15800",fontsize=16,color="green",shape="box"];4585[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat vuz288 vuz289 == LT))",fontsize=16,color="burlywood",shape="triangle"];8319[label="vuz288/Succ vuz2880",fontsize=10,color="white",style="solid",shape="box"];4585 -> 8319[label="",style="solid", color="burlywood", weight=9]; 101.93/62.88 8319 -> 4616[label="",style="solid", color="burlywood", weight=3]; 101.93/62.88 8320[label="vuz288/Zero",fontsize=10,color="white",style="solid",shape="box"];4585 -> 8320[label="",style="solid", color="burlywood", weight=9]; 101.93/62.88 8320 -> 4617[label="",style="solid", color="burlywood", weight=3]; 101.93/62.88 3179[label="absReal1 (Pos (Succ vuz15800)) (not False)",fontsize=16,color="black",shape="triangle"];3179 -> 3222[label="",style="solid", color="black", weight=3]; 101.93/62.88 3180[label="absReal1 (Pos Zero) (not (primCmpNat Zero (Succ vuz17400) == LT))",fontsize=16,color="black",shape="box"];3180 -> 3223[label="",style="solid", color="black", weight=3]; 101.93/62.88 3181[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];3181 -> 3224[label="",style="solid", color="black", weight=3]; 101.93/62.88 3182[label="absReal1 (Pos Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];3182 -> 3225[label="",style="solid", color="black", weight=3]; 101.93/62.88 3183 -> 3181[label="",style="dashed", color="red", weight=0]; 101.93/62.88 3183[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="magenta"];3184[label="absReal1 (Neg (Succ vuz15800)) (not True)",fontsize=16,color="black",shape="box"];3184 -> 3226[label="",style="solid", color="black", weight=3]; 101.93/62.88 4619[label="Succ vuz15800",fontsize=16,color="green",shape="box"];4620[label="vuz1740",fontsize=16,color="green",shape="box"];4621[label="vuz15800",fontsize=16,color="green",shape="box"];4618[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat vuz292 vuz293 == LT))",fontsize=16,color="burlywood",shape="triangle"];8321[label="vuz292/Succ vuz2920",fontsize=10,color="white",style="solid",shape="box"];4618 -> 8321[label="",style="solid", color="burlywood", weight=9]; 101.93/62.88 8321 -> 4649[label="",style="solid", color="burlywood", weight=3]; 101.93/62.88 8322[label="vuz292/Zero",fontsize=10,color="white",style="solid",shape="box"];4618 -> 8322[label="",style="solid", color="burlywood", weight=9]; 101.93/62.88 8322 -> 4650[label="",style="solid", color="burlywood", weight=3]; 101.93/62.88 3187[label="absReal1 (Neg Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];3187 -> 3229[label="",style="solid", color="black", weight=3]; 101.93/62.88 3188[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];3188 -> 3230[label="",style="solid", color="black", weight=3]; 101.93/62.88 3189[label="absReal1 (Neg Zero) (not (primCmpNat (Succ vuz17400) Zero == LT))",fontsize=16,color="black",shape="box"];3189 -> 3231[label="",style="solid", color="black", weight=3]; 101.93/62.88 3190 -> 3188[label="",style="dashed", color="red", weight=0]; 101.93/62.88 3190[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="magenta"];130[label="absReal1 (Integer (Pos (Succ vuz3100))) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];130 -> 148[label="",style="solid", color="black", weight=3]; 101.93/62.88 131[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];131 -> 149[label="",style="solid", color="black", weight=3]; 101.93/62.88 132[label="absReal0 (Integer (Neg (Succ vuz3100))) otherwise == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];132 -> 150[label="",style="solid", color="black", weight=3]; 101.93/62.88 133[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];133 -> 151[label="",style="solid", color="black", weight=3]; 101.93/62.88 134[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (abs vuz9))",fontsize=16,color="burlywood",shape="box"];8323[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];134 -> 8323[label="",style="solid", color="burlywood", weight=9]; 101.93/62.88 8323 -> 152[label="",style="solid", color="burlywood", weight=3]; 101.93/62.88 8324[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];134 -> 8324[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8324 -> 153[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 135[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (abs vuz9))",fontsize=16,color="burlywood",shape="box"];8325[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];135 -> 8325[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8325 -> 154[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8326[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];135 -> 8326[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8326 -> 155[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 136[label="Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (primEqInt (Pos (Succ vuz900)) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (primEqInt (Pos (Succ vuz900)) (Pos Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];136 -> 156[label="",style="solid", color="black", weight=3]; 101.93/62.89 137[label="Integer vuz8 * signumReal2 (Integer (Pos Zero)) (primEqInt (Pos Zero) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (primEqInt (Pos Zero) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];137 -> 157[label="",style="solid", color="black", weight=3]; 101.93/62.89 138[label="Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];138 -> 158[label="",style="solid", color="black", weight=3]; 101.93/62.89 139[label="Integer vuz8 * signumReal2 (Integer (Neg Zero)) (primEqInt (Neg Zero) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (primEqInt (Neg Zero) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];139 -> 159[label="",style="solid", color="black", weight=3]; 101.93/62.89 140[label="primQuotInt (absReal1 (Pos vuz90) (not (primCmpInt (Pos vuz90) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos vuz90)) (absReal1 (Pos vuz90) (not (primCmpInt (Pos vuz90) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8327[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];140 -> 8327[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8327 -> 160[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8328[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];140 -> 8328[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8328 -> 161[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 141[label="primQuotInt (absReal1 (Neg vuz90) (not (primCmpInt (Neg vuz90) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg vuz90)) (absReal1 (Neg vuz90) (not (primCmpInt (Neg vuz90) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8329[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];141 -> 8329[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8329 -> 162[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8330[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];141 -> 8330[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8330 -> 163[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 142[label="absReal1 (Integer (Pos vuz90)) (not (primCmpInt (Pos vuz90) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos vuz90))) (absReal1 (Integer (Pos vuz90)) (not (primCmpInt (Pos vuz90) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8331[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];142 -> 8331[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8331 -> 164[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8332[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];142 -> 8332[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8332 -> 165[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 143[label="absReal1 (Integer (Neg vuz90)) (not (primCmpInt (Neg vuz90) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg vuz90))) (absReal1 (Integer (Neg vuz90)) (not (primCmpInt (Neg vuz90) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8333[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];143 -> 8333[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8333 -> 166[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8334[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];143 -> 8334[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8334 -> 167[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 4616[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) vuz289 == LT))",fontsize=16,color="burlywood",shape="box"];8335[label="vuz289/Succ vuz2890",fontsize=10,color="white",style="solid",shape="box"];4616 -> 8335[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8335 -> 4651[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8336[label="vuz289/Zero",fontsize=10,color="white",style="solid",shape="box"];4616 -> 8336[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8336 -> 4652[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 4617[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero vuz289 == LT))",fontsize=16,color="burlywood",shape="box"];8337[label="vuz289/Succ vuz2890",fontsize=10,color="white",style="solid",shape="box"];4617 -> 8337[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8337 -> 4653[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8338[label="vuz289/Zero",fontsize=10,color="white",style="solid",shape="box"];4617 -> 8338[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8338 -> 4654[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 3222[label="absReal1 (Pos (Succ vuz15800)) True",fontsize=16,color="black",shape="box"];3222 -> 3250[label="",style="solid", color="black", weight=3]; 101.93/62.89 3223[label="absReal1 (Pos Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];3223 -> 3251[label="",style="solid", color="black", weight=3]; 101.93/62.89 3224[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="triangle"];3224 -> 3252[label="",style="solid", color="black", weight=3]; 101.93/62.89 3225 -> 3224[label="",style="dashed", color="red", weight=0]; 101.93/62.89 3225[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="magenta"];3226[label="absReal1 (Neg (Succ vuz15800)) False",fontsize=16,color="black",shape="box"];3226 -> 3253[label="",style="solid", color="black", weight=3]; 101.93/62.89 4649[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) vuz293 == LT))",fontsize=16,color="burlywood",shape="box"];8339[label="vuz293/Succ vuz2930",fontsize=10,color="white",style="solid",shape="box"];4649 -> 8339[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8339 -> 4674[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8340[label="vuz293/Zero",fontsize=10,color="white",style="solid",shape="box"];4649 -> 8340[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8340 -> 4675[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 4650[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero vuz293 == LT))",fontsize=16,color="burlywood",shape="box"];8341[label="vuz293/Succ vuz2930",fontsize=10,color="white",style="solid",shape="box"];4650 -> 8341[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8341 -> 4676[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8342[label="vuz293/Zero",fontsize=10,color="white",style="solid",shape="box"];4650 -> 8342[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8342 -> 4677[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 3229[label="absReal1 (Neg Zero) (not True)",fontsize=16,color="black",shape="box"];3229 -> 3256[label="",style="solid", color="black", weight=3]; 101.93/62.89 3230[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="triangle"];3230 -> 3257[label="",style="solid", color="black", weight=3]; 101.93/62.89 3231[label="absReal1 (Neg Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];3231 -> 3258[label="",style="solid", color="black", weight=3]; 101.93/62.89 148[label="Integer (Pos (Succ vuz3100)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];148 -> 172[label="",style="solid", color="black", weight=3]; 101.93/62.89 149[label="Integer (Pos Zero) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];149 -> 173[label="",style="solid", color="black", weight=3]; 101.93/62.89 150[label="absReal0 (Integer (Neg (Succ vuz3100))) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];150 -> 174[label="",style="solid", color="black", weight=3]; 101.93/62.89 151[label="Integer (Neg Zero) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];151 -> 175[label="",style="solid", color="black", weight=3]; 101.93/62.89 152[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (abs (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8343[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];152 -> 8343[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8343 -> 176[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8344[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];152 -> 8344[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8344 -> 177[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 153[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (abs (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8345[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];153 -> 8345[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8345 -> 178[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8346[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];153 -> 8346[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8346 -> 179[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 154[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (abs (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8347[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];154 -> 8347[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8347 -> 180[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8348[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];154 -> 8348[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8348 -> 181[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 155[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (abs (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8349[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];155 -> 8349[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8349 -> 182[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8350[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];155 -> 8350[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8350 -> 183[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 156[label="Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];156 -> 184[label="",style="solid", color="black", weight=3]; 101.93/62.89 157[label="Integer vuz8 * signumReal2 (Integer (Pos Zero)) True `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos Zero)) True) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];157 -> 185[label="",style="solid", color="black", weight=3]; 101.93/62.89 158[label="Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];158 -> 186[label="",style="solid", color="black", weight=3]; 101.93/62.89 159[label="Integer vuz8 * signumReal2 (Integer (Neg Zero)) True `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg Zero)) True) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];159 -> 187[label="",style="solid", color="black", weight=3]; 101.93/62.89 160[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];160 -> 188[label="",style="solid", color="black", weight=3]; 101.93/62.89 161[label="primQuotInt (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];161 -> 189[label="",style="solid", color="black", weight=3]; 101.93/62.89 162[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];162 -> 190[label="",style="solid", color="black", weight=3]; 101.93/62.89 163[label="primQuotInt (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];163 -> 191[label="",style="solid", color="black", weight=3]; 101.93/62.89 164[label="absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];164 -> 192[label="",style="solid", color="black", weight=3]; 101.93/62.89 165[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];165 -> 193[label="",style="solid", color="black", weight=3]; 101.93/62.89 166[label="absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];166 -> 194[label="",style="solid", color="black", weight=3]; 101.93/62.89 167[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];167 -> 195[label="",style="solid", color="black", weight=3]; 101.93/62.89 4651[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) (Succ vuz2890) == LT))",fontsize=16,color="black",shape="box"];4651 -> 4678[label="",style="solid", color="black", weight=3]; 101.93/62.89 4652[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) Zero == LT))",fontsize=16,color="black",shape="box"];4652 -> 4679[label="",style="solid", color="black", weight=3]; 101.93/62.89 4653[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero (Succ vuz2890) == LT))",fontsize=16,color="black",shape="box"];4653 -> 4680[label="",style="solid", color="black", weight=3]; 101.93/62.89 4654[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];4654 -> 4681[label="",style="solid", color="black", weight=3]; 101.93/62.89 3250[label="Pos (Succ vuz15800)",fontsize=16,color="green",shape="box"];3251[label="absReal1 (Pos Zero) (not True)",fontsize=16,color="black",shape="box"];3251 -> 3267[label="",style="solid", color="black", weight=3]; 101.93/62.89 3252[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];3252 -> 3268[label="",style="solid", color="black", weight=3]; 101.93/62.89 3253[label="absReal0 (Neg (Succ vuz15800)) otherwise",fontsize=16,color="black",shape="box"];3253 -> 3269[label="",style="solid", color="black", weight=3]; 101.93/62.89 4674[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) (Succ vuz2930) == LT))",fontsize=16,color="black",shape="box"];4674 -> 4695[label="",style="solid", color="black", weight=3]; 101.93/62.89 4675[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) Zero == LT))",fontsize=16,color="black",shape="box"];4675 -> 4696[label="",style="solid", color="black", weight=3]; 101.93/62.89 4676[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero (Succ vuz2930) == LT))",fontsize=16,color="black",shape="box"];4676 -> 4697[label="",style="solid", color="black", weight=3]; 101.93/62.89 4677[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];4677 -> 4698[label="",style="solid", color="black", weight=3]; 101.93/62.89 3256[label="absReal1 (Neg Zero) False",fontsize=16,color="black",shape="box"];3256 -> 3274[label="",style="solid", color="black", weight=3]; 101.93/62.89 3257[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];3257 -> 3275[label="",style="solid", color="black", weight=3]; 101.93/62.89 3258 -> 3230[label="",style="dashed", color="red", weight=0]; 101.93/62.89 3258[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="magenta"];172[label="Integer (Pos (Succ vuz3100)) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];172 -> 200[label="",style="solid", color="black", weight=3]; 101.93/62.89 173 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 173[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];173 -> 2649[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 173 -> 2650[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 174[label="`negate` Integer (Neg (Succ vuz3100)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 201[label="",style="solid", color="black", weight=3]; 101.93/62.89 175 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 175[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];175 -> 2651[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 175 -> 2652[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 176[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];176 -> 202[label="",style="solid", color="black", weight=3]; 101.93/62.89 177[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];177 -> 203[label="",style="solid", color="black", weight=3]; 101.93/62.89 178[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];178 -> 204[label="",style="solid", color="black", weight=3]; 101.93/62.89 179[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];179 -> 205[label="",style="solid", color="black", weight=3]; 101.93/62.89 180[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];180 -> 206[label="",style="solid", color="black", weight=3]; 101.93/62.89 181[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];181 -> 207[label="",style="solid", color="black", weight=3]; 101.93/62.89 182[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];182 -> 208[label="",style="solid", color="black", weight=3]; 101.93/62.89 183[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];183 -> 209[label="",style="solid", color="black", weight=3]; 101.93/62.89 184[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];184 -> 210[label="",style="solid", color="black", weight=3]; 101.93/62.89 185[label="Integer vuz8 * fromInt (Pos Zero) `quot` reduce2D (Integer vuz8 * fromInt (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];185 -> 211[label="",style="solid", color="black", weight=3]; 101.93/62.89 186[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];186 -> 212[label="",style="solid", color="black", weight=3]; 101.93/62.89 187[label="Integer vuz8 * fromInt (Pos Zero) `quot` reduce2D (Integer vuz8 * fromInt (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];187 -> 213[label="",style="solid", color="black", weight=3]; 101.93/62.89 188[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];188 -> 214[label="",style="solid", color="black", weight=3]; 101.93/62.89 189[label="primQuotInt (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];189 -> 215[label="",style="solid", color="black", weight=3]; 101.93/62.89 190[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];190 -> 216[label="",style="solid", color="black", weight=3]; 101.93/62.89 191[label="primQuotInt (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];191 -> 217[label="",style="solid", color="black", weight=3]; 101.93/62.89 192[label="absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpNat (Succ vuz900) Zero == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpNat (Succ vuz900) Zero == LT)))",fontsize=16,color="black",shape="box"];192 -> 218[label="",style="solid", color="black", weight=3]; 101.93/62.89 193[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];193 -> 219[label="",style="solid", color="black", weight=3]; 101.93/62.89 194[label="absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];194 -> 220[label="",style="solid", color="black", weight=3]; 101.93/62.89 195[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];195 -> 221[label="",style="solid", color="black", weight=3]; 101.93/62.89 4678 -> 4585[label="",style="dashed", color="red", weight=0]; 101.93/62.89 4678[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat vuz2880 vuz2890 == LT))",fontsize=16,color="magenta"];4678 -> 4699[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 4678 -> 4700[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 4679 -> 3158[label="",style="dashed", color="red", weight=0]; 101.93/62.89 4679[label="absReal1 (Pos (Succ vuz287)) (not (GT == LT))",fontsize=16,color="magenta"];4679 -> 4701[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 4680[label="absReal1 (Pos (Succ vuz287)) (not (LT == LT))",fontsize=16,color="black",shape="box"];4680 -> 4702[label="",style="solid", color="black", weight=3]; 101.93/62.89 4681[label="absReal1 (Pos (Succ vuz287)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4681 -> 4703[label="",style="solid", color="black", weight=3]; 101.93/62.89 3267[label="absReal1 (Pos Zero) False",fontsize=16,color="black",shape="box"];3267 -> 3311[label="",style="solid", color="black", weight=3]; 101.93/62.89 3268[label="Pos Zero",fontsize=16,color="green",shape="box"];3269[label="absReal0 (Neg (Succ vuz15800)) True",fontsize=16,color="black",shape="box"];3269 -> 3312[label="",style="solid", color="black", weight=3]; 101.93/62.89 4695 -> 4618[label="",style="dashed", color="red", weight=0]; 101.93/62.89 4695[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat vuz2920 vuz2930 == LT))",fontsize=16,color="magenta"];4695 -> 4751[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 4695 -> 4752[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 4696[label="absReal1 (Neg (Succ vuz291)) (not (GT == LT))",fontsize=16,color="black",shape="box"];4696 -> 4753[label="",style="solid", color="black", weight=3]; 101.93/62.89 4697 -> 3163[label="",style="dashed", color="red", weight=0]; 101.93/62.89 4697[label="absReal1 (Neg (Succ vuz291)) (not (LT == LT))",fontsize=16,color="magenta"];4697 -> 4754[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 4698[label="absReal1 (Neg (Succ vuz291)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4698 -> 4755[label="",style="solid", color="black", weight=3]; 101.93/62.89 3274[label="absReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];3274 -> 3317[label="",style="solid", color="black", weight=3]; 101.93/62.89 3275[label="Neg Zero",fontsize=16,color="green",shape="box"];200 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 200[label="primEqInt (Pos (Succ vuz3100)) (Pos Zero)",fontsize=16,color="magenta"];200 -> 2653[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 200 -> 2654[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 2649[label="Pos Zero",fontsize=16,color="green",shape="box"];2650[label="Pos Zero",fontsize=16,color="green",shape="box"];201[label="Integer (primNegInt (Neg (Succ vuz3100))) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];201 -> 224[label="",style="solid", color="black", weight=3]; 101.93/62.89 2651[label="Pos Zero",fontsize=16,color="green",shape="box"];2652[label="Neg Zero",fontsize=16,color="green",shape="box"];202 -> 225[label="",style="dashed", color="red", weight=0]; 101.93/62.89 202[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];202 -> 226[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 202 -> 227[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 203 -> 228[label="",style="dashed", color="red", weight=0]; 101.93/62.89 203[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="magenta"];203 -> 229[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 203 -> 230[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 204[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];204 -> 231[label="",style="solid", color="black", weight=3]; 101.93/62.89 205 -> 232[label="",style="dashed", color="red", weight=0]; 101.93/62.89 205[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="magenta"];205 -> 233[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 205 -> 234[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 206 -> 235[label="",style="dashed", color="red", weight=0]; 101.93/62.89 206[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];206 -> 236[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 206 -> 237[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 207 -> 238[label="",style="dashed", color="red", weight=0]; 101.93/62.89 207[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="magenta"];207 -> 239[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 207 -> 240[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 208[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];208 -> 241[label="",style="solid", color="black", weight=3]; 101.93/62.89 209 -> 242[label="",style="dashed", color="red", weight=0]; 101.93/62.89 209[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="magenta"];209 -> 243[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 209 -> 244[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 210[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];210 -> 245[label="",style="solid", color="black", weight=3]; 101.93/62.89 211[label="Integer vuz8 * Integer (Pos Zero) `quot` reduce2D (Integer vuz8 * Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];211 -> 246[label="",style="solid", color="black", weight=3]; 101.93/62.89 212[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];212 -> 247[label="",style="solid", color="black", weight=3]; 101.93/62.89 213[label="Integer vuz8 * Integer (Pos Zero) `quot` reduce2D (Integer vuz8 * Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];213 -> 248[label="",style="solid", color="black", weight=3]; 101.93/62.89 214[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpNat (Succ vuz900) Zero == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpNat (Succ vuz900) Zero == LT))))",fontsize=16,color="black",shape="box"];214 -> 249[label="",style="solid", color="black", weight=3]; 101.93/62.89 215[label="primQuotInt (absReal1 (Pos Zero) (not (EQ == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (EQ == LT))))",fontsize=16,color="black",shape="box"];215 -> 250[label="",style="solid", color="black", weight=3]; 101.93/62.89 216[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (LT == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (LT == LT))))",fontsize=16,color="black",shape="box"];216 -> 251[label="",style="solid", color="black", weight=3]; 101.93/62.89 217[label="primQuotInt (absReal1 (Neg Zero) (not (EQ == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (EQ == LT))))",fontsize=16,color="black",shape="box"];217 -> 252[label="",style="solid", color="black", weight=3]; 101.93/62.89 218[label="absReal1 (Integer (Pos (Succ vuz900))) (not (GT == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];218 -> 253[label="",style="solid", color="black", weight=3]; 101.93/62.89 219[label="absReal1 (Integer (Pos Zero)) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];219 -> 254[label="",style="solid", color="black", weight=3]; 101.93/62.89 220[label="absReal1 (Integer (Neg (Succ vuz900))) (not True) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not True))",fontsize=16,color="black",shape="box"];220 -> 255[label="",style="solid", color="black", weight=3]; 101.93/62.89 221[label="absReal1 (Integer (Neg Zero)) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];221 -> 256[label="",style="solid", color="black", weight=3]; 101.93/62.89 4699[label="vuz2890",fontsize=16,color="green",shape="box"];4700[label="vuz2880",fontsize=16,color="green",shape="box"];4701[label="vuz287",fontsize=16,color="green",shape="box"];4702[label="absReal1 (Pos (Succ vuz287)) (not True)",fontsize=16,color="black",shape="box"];4702 -> 4756[label="",style="solid", color="black", weight=3]; 101.93/62.89 4703 -> 3179[label="",style="dashed", color="red", weight=0]; 101.93/62.89 4703[label="absReal1 (Pos (Succ vuz287)) (not False)",fontsize=16,color="magenta"];4703 -> 4757[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 3311[label="absReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];3311 -> 3356[label="",style="solid", color="black", weight=3]; 101.93/62.89 3312[label="`negate` Neg (Succ vuz15800)",fontsize=16,color="black",shape="box"];3312 -> 3357[label="",style="solid", color="black", weight=3]; 101.93/62.89 4751[label="vuz2930",fontsize=16,color="green",shape="box"];4752[label="vuz2920",fontsize=16,color="green",shape="box"];4753[label="absReal1 (Neg (Succ vuz291)) (not False)",fontsize=16,color="black",shape="triangle"];4753 -> 4780[label="",style="solid", color="black", weight=3]; 101.93/62.89 4754[label="vuz291",fontsize=16,color="green",shape="box"];4755 -> 4753[label="",style="dashed", color="red", weight=0]; 101.93/62.89 4755[label="absReal1 (Neg (Succ vuz291)) (not False)",fontsize=16,color="magenta"];3317[label="absReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];3317 -> 3363[label="",style="solid", color="black", weight=3]; 101.93/62.89 2653[label="Pos Zero",fontsize=16,color="green",shape="box"];2654[label="Pos (Succ vuz3100)",fontsize=16,color="green",shape="box"];224[label="Integer (primNegInt (Neg (Succ vuz3100))) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];224 -> 258[label="",style="solid", color="black", weight=3]; 101.93/62.89 226 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 226[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];226 -> 2661[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 226 -> 2662[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 227 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 227[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];227 -> 2663[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 227 -> 2664[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 225[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz11)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8351[label="vuz11/False",fontsize=10,color="white",style="solid",shape="box"];225 -> 8351[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8351 -> 261[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8352[label="vuz11/True",fontsize=10,color="white",style="solid",shape="box"];225 -> 8352[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8352 -> 262[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 229 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 229[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];229 -> 2665[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 229 -> 2666[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 230 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 230[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];230 -> 2667[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 230 -> 2668[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 228[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz13)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8353[label="vuz13/False",fontsize=10,color="white",style="solid",shape="box"];228 -> 8353[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8353 -> 263[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8354[label="vuz13/True",fontsize=10,color="white",style="solid",shape="box"];228 -> 8354[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8354 -> 264[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 231[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];231 -> 265[label="",style="solid", color="black", weight=3]; 101.93/62.89 233 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 233[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];233 -> 2669[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 233 -> 2670[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 234 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 234[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];234 -> 2671[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 234 -> 2672[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 232[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz15)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8355[label="vuz15/False",fontsize=10,color="white",style="solid",shape="box"];232 -> 8355[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8355 -> 266[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8356[label="vuz15/True",fontsize=10,color="white",style="solid",shape="box"];232 -> 8356[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8356 -> 267[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 236 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 236[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];236 -> 2673[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 236 -> 2674[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 237 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 237[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];237 -> 2675[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 237 -> 2676[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 235[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz17)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8357[label="vuz17/False",fontsize=10,color="white",style="solid",shape="box"];235 -> 8357[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8357 -> 270[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8358[label="vuz17/True",fontsize=10,color="white",style="solid",shape="box"];235 -> 8358[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8358 -> 271[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 239 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 239[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];239 -> 2677[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 239 -> 2678[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 240 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 240[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];240 -> 2679[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 240 -> 2680[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 238[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz19)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8359[label="vuz19/False",fontsize=10,color="white",style="solid",shape="box"];238 -> 8359[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8359 -> 272[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8360[label="vuz19/True",fontsize=10,color="white",style="solid",shape="box"];238 -> 8360[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8360 -> 273[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 241[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];241 -> 274[label="",style="solid", color="black", weight=3]; 101.93/62.89 243 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 243[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];243 -> 2681[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 243 -> 2682[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 244 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 244[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];244 -> 2683[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 244 -> 2684[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 242[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz21)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8361[label="vuz21/False",fontsize=10,color="white",style="solid",shape="box"];242 -> 8361[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8361 -> 275[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 8362[label="vuz21/True",fontsize=10,color="white",style="solid",shape="box"];242 -> 8362[label="",style="solid", color="burlywood", weight=9]; 101.93/62.89 8362 -> 276[label="",style="solid", color="burlywood", weight=3]; 101.93/62.89 245[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];245 -> 277[label="",style="solid", color="black", weight=3]; 101.93/62.89 246[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` reduce2D (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];246 -> 278[label="",style="solid", color="black", weight=3]; 101.93/62.89 247[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];247 -> 279[label="",style="solid", color="black", weight=3]; 101.93/62.89 248[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` reduce2D (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];248 -> 280[label="",style="solid", color="black", weight=3]; 101.93/62.89 249[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (GT == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (GT == LT))))",fontsize=16,color="black",shape="box"];249 -> 281[label="",style="solid", color="black", weight=3]; 101.93/62.89 250[label="primQuotInt (absReal1 (Pos Zero) (not False)) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not False)))",fontsize=16,color="black",shape="box"];250 -> 282[label="",style="solid", color="black", weight=3]; 101.93/62.89 251[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not True)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not True)))",fontsize=16,color="black",shape="box"];251 -> 283[label="",style="solid", color="black", weight=3]; 101.93/62.89 252[label="primQuotInt (absReal1 (Neg Zero) (not False)) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not False)))",fontsize=16,color="black",shape="box"];252 -> 284[label="",style="solid", color="black", weight=3]; 101.93/62.89 253[label="absReal1 (Integer (Pos (Succ vuz900))) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not False))",fontsize=16,color="black",shape="box"];253 -> 285[label="",style="solid", color="black", weight=3]; 101.93/62.89 254[label="absReal1 (Integer (Pos Zero)) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];254 -> 286[label="",style="solid", color="black", weight=3]; 101.93/62.89 255[label="absReal1 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) False)",fontsize=16,color="black",shape="box"];255 -> 287[label="",style="solid", color="black", weight=3]; 101.93/62.89 256[label="absReal1 (Integer (Neg Zero)) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];256 -> 288[label="",style="solid", color="black", weight=3]; 101.93/62.89 4756[label="absReal1 (Pos (Succ vuz287)) False",fontsize=16,color="black",shape="box"];4756 -> 4781[label="",style="solid", color="black", weight=3]; 101.93/62.89 4757[label="vuz287",fontsize=16,color="green",shape="box"];3356[label="absReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];3356 -> 3377[label="",style="solid", color="black", weight=3]; 101.93/62.89 3357 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.89 3357[label="primNegInt (Neg (Succ vuz15800))",fontsize=16,color="magenta"];3357 -> 3378[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 4780[label="absReal1 (Neg (Succ vuz291)) True",fontsize=16,color="black",shape="box"];4780 -> 4827[label="",style="solid", color="black", weight=3]; 101.93/62.89 3363[label="`negate` Neg Zero",fontsize=16,color="black",shape="box"];3363 -> 3384[label="",style="solid", color="black", weight=3]; 101.93/62.89 258 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.89 258[label="primEqInt (primNegInt (Neg (Succ vuz3100))) (Pos Zero)",fontsize=16,color="magenta"];258 -> 2685[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 258 -> 2686[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 2661[label="Pos Zero",fontsize=16,color="green",shape="box"];2662[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];2663[label="Pos Zero",fontsize=16,color="green",shape="box"];2664[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];261[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];261 -> 291[label="",style="solid", color="black", weight=3]; 101.93/62.89 262[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];262 -> 292[label="",style="solid", color="black", weight=3]; 101.93/62.89 2665[label="Pos Zero",fontsize=16,color="green",shape="box"];2666[label="Pos Zero",fontsize=16,color="green",shape="box"];2667[label="Pos Zero",fontsize=16,color="green",shape="box"];2668[label="Pos Zero",fontsize=16,color="green",shape="box"];263[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];263 -> 293[label="",style="solid", color="black", weight=3]; 101.93/62.89 264[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];264 -> 294[label="",style="solid", color="black", weight=3]; 101.93/62.89 265[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];265 -> 295[label="",style="solid", color="black", weight=3]; 101.93/62.89 2669[label="Pos Zero",fontsize=16,color="green",shape="box"];2670[label="Neg Zero",fontsize=16,color="green",shape="box"];2671[label="Pos Zero",fontsize=16,color="green",shape="box"];2672[label="Neg Zero",fontsize=16,color="green",shape="box"];266[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];266 -> 296[label="",style="solid", color="black", weight=3]; 101.93/62.89 267[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];267 -> 297[label="",style="solid", color="black", weight=3]; 101.93/62.89 2673[label="Pos Zero",fontsize=16,color="green",shape="box"];2674[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];2675[label="Pos Zero",fontsize=16,color="green",shape="box"];2676[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];270[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];270 -> 298[label="",style="solid", color="black", weight=3]; 101.93/62.89 271[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];271 -> 299[label="",style="solid", color="black", weight=3]; 101.93/62.89 2677[label="Pos Zero",fontsize=16,color="green",shape="box"];2678[label="Pos Zero",fontsize=16,color="green",shape="box"];2679[label="Pos Zero",fontsize=16,color="green",shape="box"];2680[label="Pos Zero",fontsize=16,color="green",shape="box"];272[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];272 -> 300[label="",style="solid", color="black", weight=3]; 101.93/62.89 273[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];273 -> 301[label="",style="solid", color="black", weight=3]; 101.93/62.89 274[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];274 -> 302[label="",style="solid", color="black", weight=3]; 101.93/62.89 2681[label="Pos Zero",fontsize=16,color="green",shape="box"];2682[label="Neg Zero",fontsize=16,color="green",shape="box"];2683[label="Pos Zero",fontsize=16,color="green",shape="box"];2684[label="Neg Zero",fontsize=16,color="green",shape="box"];275[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];275 -> 303[label="",style="solid", color="black", weight=3]; 101.93/62.89 276[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];276 -> 304[label="",style="solid", color="black", weight=3]; 101.93/62.89 277[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];277 -> 305[label="",style="solid", color="black", weight=3]; 101.93/62.89 278[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];278 -> 306[label="",style="solid", color="black", weight=3]; 101.93/62.89 279[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];279 -> 307[label="",style="solid", color="black", weight=3]; 101.93/62.89 280[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];280 -> 308[label="",style="solid", color="black", weight=3]; 101.93/62.89 281[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not False)) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not False)))",fontsize=16,color="black",shape="box"];281 -> 309[label="",style="solid", color="black", weight=3]; 101.93/62.89 282[label="primQuotInt (absReal1 (Pos Zero) True) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) True))",fontsize=16,color="black",shape="box"];282 -> 310[label="",style="solid", color="black", weight=3]; 101.93/62.89 283[label="primQuotInt (absReal1 (Neg (Succ vuz900)) False) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) False))",fontsize=16,color="black",shape="box"];283 -> 311[label="",style="solid", color="black", weight=3]; 101.93/62.89 284[label="primQuotInt (absReal1 (Neg Zero) True) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) True))",fontsize=16,color="black",shape="box"];284 -> 312[label="",style="solid", color="black", weight=3]; 101.93/62.89 285[label="absReal1 (Integer (Pos (Succ vuz900))) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) True)",fontsize=16,color="black",shape="box"];285 -> 313[label="",style="solid", color="black", weight=3]; 101.93/62.89 286[label="Integer (Pos Zero) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];286 -> 314[label="",style="solid", color="black", weight=3]; 101.93/62.89 287[label="absReal0 (Integer (Neg (Succ vuz900))) otherwise `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal0 (Integer (Neg (Succ vuz900))) otherwise)",fontsize=16,color="black",shape="box"];287 -> 315[label="",style="solid", color="black", weight=3]; 101.93/62.89 288[label="Integer (Neg Zero) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];288 -> 316[label="",style="solid", color="black", weight=3]; 101.93/62.89 4781[label="absReal0 (Pos (Succ vuz287)) otherwise",fontsize=16,color="black",shape="box"];4781 -> 4828[label="",style="solid", color="black", weight=3]; 101.93/62.89 3377[label="`negate` Pos Zero",fontsize=16,color="black",shape="box"];3377 -> 3403[label="",style="solid", color="black", weight=3]; 101.93/62.89 3378[label="vuz15800",fontsize=16,color="green",shape="box"];2686[label="primNegInt (Neg (Succ vuz3100))",fontsize=16,color="black",shape="triangle"];2686 -> 2902[label="",style="solid", color="black", weight=3]; 101.93/62.89 4827[label="Neg (Succ vuz291)",fontsize=16,color="green",shape="box"];3384[label="primNegInt (Neg Zero)",fontsize=16,color="black",shape="box"];3384 -> 3409[label="",style="solid", color="black", weight=3]; 101.93/62.89 2685[label="Pos Zero",fontsize=16,color="green",shape="box"];291[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];291 -> 318[label="",style="solid", color="black", weight=3]; 101.93/62.89 292[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];292 -> 319[label="",style="solid", color="black", weight=3]; 101.93/62.89 293[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];293 -> 320[label="",style="solid", color="black", weight=3]; 101.93/62.89 294[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];294 -> 321[label="",style="solid", color="black", weight=3]; 101.93/62.89 295[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];295 -> 322[label="",style="solid", color="black", weight=3]; 101.93/62.89 296[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];296 -> 323[label="",style="solid", color="black", weight=3]; 101.93/62.89 297[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];297 -> 324[label="",style="solid", color="black", weight=3]; 101.93/62.89 298[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];298 -> 325[label="",style="solid", color="black", weight=3]; 101.93/62.89 299[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];299 -> 326[label="",style="solid", color="black", weight=3]; 101.93/62.89 300[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];300 -> 327[label="",style="solid", color="black", weight=3]; 101.93/62.89 301[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];301 -> 328[label="",style="solid", color="black", weight=3]; 101.93/62.89 302[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];302 -> 329[label="",style="solid", color="black", weight=3]; 101.93/62.89 303[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];303 -> 330[label="",style="solid", color="black", weight=3]; 101.93/62.89 304[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];304 -> 331[label="",style="solid", color="black", weight=3]; 101.93/62.89 305[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];305 -> 332[label="",style="solid", color="black", weight=3]; 101.93/62.89 306[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd3 (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];306 -> 333[label="",style="solid", color="black", weight=3]; 101.93/62.89 307[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];307 -> 334[label="",style="solid", color="black", weight=3]; 101.93/62.89 308[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd3 (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];308 -> 335[label="",style="solid", color="black", weight=3]; 101.93/62.89 309[label="primQuotInt (absReal1 (Pos (Succ vuz900)) True) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) True))",fontsize=16,color="black",shape="box"];309 -> 336[label="",style="solid", color="black", weight=3]; 101.93/62.89 310 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.89 310[label="primQuotInt (Pos Zero) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (Pos Zero))",fontsize=16,color="magenta"];310 -> 5418[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 310 -> 5419[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 311[label="primQuotInt (absReal0 (Neg (Succ vuz900)) otherwise) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal0 (Neg (Succ vuz900)) otherwise))",fontsize=16,color="black",shape="box"];311 -> 338[label="",style="solid", color="black", weight=3]; 101.93/62.89 312 -> 6450[label="",style="dashed", color="red", weight=0]; 101.93/62.89 312[label="primQuotInt (Neg Zero) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (Neg Zero))",fontsize=16,color="magenta"];312 -> 6451[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 312 -> 6452[label="",style="dashed", color="magenta", weight=3]; 101.93/62.89 313[label="Integer (Pos (Succ vuz900)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];313 -> 340[label="",style="solid", color="black", weight=3]; 101.93/62.90 314[label="Integer (Pos Zero) `quot` gcd (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];314 -> 341[label="",style="solid", color="black", weight=3]; 101.93/62.90 315[label="absReal0 (Integer (Neg (Succ vuz900))) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal0 (Integer (Neg (Succ vuz900))) True)",fontsize=16,color="black",shape="box"];315 -> 342[label="",style="solid", color="black", weight=3]; 101.93/62.90 316[label="Integer (Neg Zero) `quot` gcd (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];316 -> 343[label="",style="solid", color="black", weight=3]; 101.93/62.90 4828[label="absReal0 (Pos (Succ vuz287)) True",fontsize=16,color="black",shape="box"];4828 -> 4832[label="",style="solid", color="black", weight=3]; 101.93/62.90 3403[label="primNegInt (Pos Zero)",fontsize=16,color="black",shape="box"];3403 -> 3454[label="",style="solid", color="black", weight=3]; 101.93/62.90 2902[label="Pos (Succ vuz3100)",fontsize=16,color="green",shape="box"];3409[label="Pos Zero",fontsize=16,color="green",shape="box"];318[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];318 -> 344[label="",style="solid", color="black", weight=3]; 101.93/62.90 319[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];319 -> 345[label="",style="solid", color="black", weight=3]; 101.93/62.90 320[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];320 -> 346[label="",style="solid", color="black", weight=3]; 101.93/62.90 321[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];321 -> 347[label="",style="solid", color="black", weight=3]; 101.93/62.90 322[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];322 -> 348[label="",style="solid", color="black", weight=3]; 101.93/62.90 323[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];323 -> 349[label="",style="solid", color="black", weight=3]; 101.93/62.90 324[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];324 -> 350[label="",style="solid", color="black", weight=3]; 101.93/62.90 325[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];325 -> 351[label="",style="solid", color="black", weight=3]; 101.93/62.90 326[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];326 -> 352[label="",style="solid", color="black", weight=3]; 101.93/62.90 327[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];327 -> 353[label="",style="solid", color="black", weight=3]; 101.93/62.90 328[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];328 -> 354[label="",style="solid", color="black", weight=3]; 101.93/62.90 329[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];329 -> 355[label="",style="solid", color="black", weight=3]; 101.93/62.90 330[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];330 -> 356[label="",style="solid", color="black", weight=3]; 101.93/62.90 331[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];331 -> 357[label="",style="solid", color="black", weight=3]; 101.93/62.90 332[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];332 -> 358[label="",style="solid", color="black", weight=3]; 101.93/62.90 333[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];333 -> 359[label="",style="solid", color="black", weight=3]; 101.93/62.90 334[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];334 -> 360[label="",style="solid", color="black", weight=3]; 101.93/62.90 335[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];335 -> 361[label="",style="solid", color="black", weight=3]; 101.93/62.90 336 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.90 336[label="primQuotInt (Pos (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900)))",fontsize=16,color="magenta"];336 -> 5420[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 336 -> 5421[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5418[label="Zero",fontsize=16,color="green",shape="box"];5419 -> 5607[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5419[label="reduce2D (fromInt vuz8 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5419 -> 5608[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5417[label="primQuotInt (Pos vuz301) vuz319",fontsize=16,color="burlywood",shape="triangle"];8363[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];5417 -> 8363[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8363 -> 5609[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8364[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];5417 -> 8364[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8364 -> 5610[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 338[label="primQuotInt (absReal0 (Neg (Succ vuz900)) True) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal0 (Neg (Succ vuz900)) True))",fontsize=16,color="black",shape="box"];338 -> 364[label="",style="solid", color="black", weight=3]; 101.93/62.90 6451[label="Zero",fontsize=16,color="green",shape="box"];6452 -> 6857[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6452[label="reduce2D (fromInt vuz8 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6452 -> 6858[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6450[label="primQuotInt (Neg vuz381) vuz407",fontsize=16,color="burlywood",shape="triangle"];8365[label="vuz407/Pos vuz4070",fontsize=10,color="white",style="solid",shape="box"];6450 -> 8365[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8365 -> 6859[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8366[label="vuz407/Neg vuz4070",fontsize=10,color="white",style="solid",shape="box"];6450 -> 8366[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8366 -> 6860[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 340[label="Integer (Pos (Succ vuz900)) `quot` gcd (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];340 -> 366[label="",style="solid", color="black", weight=3]; 101.93/62.90 341[label="Integer (Pos Zero) `quot` gcd3 (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];341 -> 367[label="",style="solid", color="black", weight=3]; 101.93/62.90 342[label="(`negate` Integer (Neg (Succ vuz900))) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (`negate` Integer (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];342 -> 368[label="",style="solid", color="black", weight=3]; 101.93/62.90 343[label="Integer (Neg Zero) `quot` gcd3 (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];343 -> 369[label="",style="solid", color="black", weight=3]; 101.93/62.90 4832[label="`negate` Pos (Succ vuz287)",fontsize=16,color="black",shape="box"];4832 -> 5270[label="",style="solid", color="black", weight=3]; 101.93/62.90 3454[label="Neg Zero",fontsize=16,color="green",shape="box"];344[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];344 -> 370[label="",style="solid", color="black", weight=3]; 101.93/62.90 345 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.90 345[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];345 -> 5424[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 345 -> 5425[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 346[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];346 -> 372[label="",style="solid", color="black", weight=3]; 101.93/62.90 347 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.90 347[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos Zero)))",fontsize=16,color="magenta"];347 -> 5426[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 347 -> 5427[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 348[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];348 -> 374[label="",style="solid", color="black", weight=3]; 101.93/62.90 349[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];349 -> 375[label="",style="solid", color="black", weight=3]; 101.93/62.90 350 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.90 350[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Neg Zero)))",fontsize=16,color="magenta"];350 -> 5428[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 350 -> 5429[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 351[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];351 -> 377[label="",style="solid", color="black", weight=3]; 101.93/62.90 352 -> 6450[label="",style="dashed", color="red", weight=0]; 101.93/62.90 352[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];352 -> 6455[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 352 -> 6456[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 353[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];353 -> 379[label="",style="solid", color="black", weight=3]; 101.93/62.90 354 -> 6450[label="",style="dashed", color="red", weight=0]; 101.93/62.90 354[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos Zero)))",fontsize=16,color="magenta"];354 -> 6457[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 354 -> 6458[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 355[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];355 -> 381[label="",style="solid", color="black", weight=3]; 101.93/62.90 356[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];356 -> 382[label="",style="solid", color="black", weight=3]; 101.93/62.90 357 -> 6450[label="",style="dashed", color="red", weight=0]; 101.93/62.90 357[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Neg Zero)))",fontsize=16,color="magenta"];357 -> 6459[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 357 -> 6460[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 358[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];358 -> 384[label="",style="solid", color="black", weight=3]; 101.93/62.90 359[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];359 -> 385[label="",style="solid", color="black", weight=3]; 101.93/62.90 360[label="Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise `quot` reduce2D (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];360 -> 386[label="",style="solid", color="black", weight=3]; 101.93/62.90 361[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];361 -> 387[label="",style="solid", color="black", weight=3]; 101.93/62.90 5420[label="Succ vuz900",fontsize=16,color="green",shape="box"];5421 -> 5611[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5421[label="reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5421 -> 5612[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5608 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5608[label="fromInt vuz8",fontsize=16,color="magenta"];5608 -> 5613[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5607[label="reduce2D (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="triangle"];5607 -> 5614[label="",style="solid", color="black", weight=3]; 101.93/62.90 5609[label="primQuotInt (Pos vuz301) (Pos vuz3190)",fontsize=16,color="burlywood",shape="box"];8367[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];5609 -> 8367[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8367 -> 5615[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8368[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];5609 -> 8368[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8368 -> 5616[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 5610[label="primQuotInt (Pos vuz301) (Neg vuz3190)",fontsize=16,color="burlywood",shape="box"];8369[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];5610 -> 8369[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8369 -> 5617[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8370[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];5610 -> 8370[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8370 -> 5618[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 364[label="primQuotInt (`negate` Neg (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (`negate` Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];364 -> 390[label="",style="solid", color="black", weight=3]; 101.93/62.90 6858 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6858[label="fromInt vuz8",fontsize=16,color="magenta"];6858 -> 6861[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6857[label="reduce2D (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="triangle"];6857 -> 6862[label="",style="solid", color="black", weight=3]; 101.93/62.90 6859[label="primQuotInt (Neg vuz381) (Pos vuz4070)",fontsize=16,color="burlywood",shape="box"];8371[label="vuz4070/Succ vuz40700",fontsize=10,color="white",style="solid",shape="box"];6859 -> 8371[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8371 -> 6880[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8372[label="vuz4070/Zero",fontsize=10,color="white",style="solid",shape="box"];6859 -> 8372[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8372 -> 6881[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 6860[label="primQuotInt (Neg vuz381) (Neg vuz4070)",fontsize=16,color="burlywood",shape="box"];8373[label="vuz4070/Succ vuz40700",fontsize=10,color="white",style="solid",shape="box"];6860 -> 8373[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8373 -> 6882[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8374[label="vuz4070/Zero",fontsize=10,color="white",style="solid",shape="box"];6860 -> 8374[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8374 -> 6883[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 366[label="Integer (Pos (Succ vuz900)) `quot` gcd3 (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];366 -> 392[label="",style="solid", color="black", weight=3]; 101.93/62.90 367[label="Integer (Pos Zero) `quot` gcd2 (fromInt vuz8 * signum (Integer (Pos Zero)) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];367 -> 393[label="",style="solid", color="black", weight=3]; 101.93/62.90 368[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];368 -> 394[label="",style="solid", color="black", weight=3]; 101.93/62.90 369[label="Integer (Neg Zero) `quot` gcd2 (fromInt vuz8 * signum (Integer (Neg Zero)) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];369 -> 395[label="",style="solid", color="black", weight=3]; 101.93/62.90 5270[label="primNegInt (Pos (Succ vuz287))",fontsize=16,color="black",shape="box"];5270 -> 5385[label="",style="solid", color="black", weight=3]; 101.93/62.90 370[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];370 -> 396[label="",style="solid", color="black", weight=3]; 101.93/62.90 5424 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5424[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5424 -> 5619[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5424 -> 5620[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5425 -> 5621[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5425[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5425 -> 5622[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5425 -> 5623[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 372[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];372 -> 398[label="",style="solid", color="black", weight=3]; 101.93/62.90 5426 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5426[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5426 -> 5636[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5426 -> 5637[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5427 -> 5621[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5427[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos Zero))",fontsize=16,color="magenta"];5427 -> 5624[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5427 -> 5625[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 374[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];374 -> 400[label="",style="solid", color="black", weight=3]; 101.93/62.90 375[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];375 -> 401[label="",style="solid", color="black", weight=3]; 101.93/62.90 5428 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5428[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5428 -> 5638[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5428 -> 5639[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5429 -> 5621[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5429[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Neg Zero))",fontsize=16,color="magenta"];5429 -> 5626[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5429 -> 5627[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 377[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];377 -> 403[label="",style="solid", color="black", weight=3]; 101.93/62.90 6455 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6455[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6455 -> 6863[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6455 -> 6864[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6456 -> 6865[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6456[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6456 -> 6866[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6456 -> 6867[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 379[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];379 -> 405[label="",style="solid", color="black", weight=3]; 101.93/62.90 6457 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6457[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6457 -> 6884[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6457 -> 6885[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6458 -> 6865[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6458[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos Zero))",fontsize=16,color="magenta"];6458 -> 6868[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6458 -> 6869[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 381[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];381 -> 407[label="",style="solid", color="black", weight=3]; 101.93/62.90 382[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];382 -> 408[label="",style="solid", color="black", weight=3]; 101.93/62.90 6459 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6459[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6459 -> 6886[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6459 -> 6887[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6460 -> 6865[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6460[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Neg Zero))",fontsize=16,color="magenta"];6460 -> 6870[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6460 -> 6871[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 384[label="Integer vuz8 * fromInt (Pos (Succ Zero)) `quot` reduce2D (Integer vuz8 * fromInt (Pos (Succ Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];384 -> 410[label="",style="solid", color="black", weight=3]; 101.93/62.90 385[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8375[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];385 -> 8375[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8375 -> 411[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8376[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];385 -> 8376[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8376 -> 412[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 386[label="Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True `quot` reduce2D (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];386 -> 413[label="",style="solid", color="black", weight=3]; 101.93/62.90 387[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8377[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];387 -> 8377[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8377 -> 414[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8378[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];387 -> 8378[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8378 -> 415[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 5612 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5612[label="fromInt vuz8",fontsize=16,color="magenta"];5612 -> 5640[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5611[label="reduce2D (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5611 -> 5641[label="",style="solid", color="black", weight=3]; 101.93/62.90 5613[label="vuz8",fontsize=16,color="green",shape="box"];5614[label="gcd (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5614 -> 5642[label="",style="solid", color="black", weight=3]; 101.93/62.90 5615[label="primQuotInt (Pos vuz301) (Pos (Succ vuz31900))",fontsize=16,color="black",shape="box"];5615 -> 5643[label="",style="solid", color="black", weight=3]; 101.93/62.90 5616[label="primQuotInt (Pos vuz301) (Pos Zero)",fontsize=16,color="black",shape="box"];5616 -> 5644[label="",style="solid", color="black", weight=3]; 101.93/62.90 5617[label="primQuotInt (Pos vuz301) (Neg (Succ vuz31900))",fontsize=16,color="black",shape="box"];5617 -> 5645[label="",style="solid", color="black", weight=3]; 101.93/62.90 5618[label="primQuotInt (Pos vuz301) (Neg Zero)",fontsize=16,color="black",shape="box"];5618 -> 5646[label="",style="solid", color="black", weight=3]; 101.93/62.90 390[label="primQuotInt (primNegInt (Neg (Succ vuz900))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];390 -> 418[label="",style="solid", color="black", weight=3]; 101.93/62.90 6861[label="vuz8",fontsize=16,color="green",shape="box"];6862[label="gcd (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6862 -> 6888[label="",style="solid", color="black", weight=3]; 101.93/62.90 6880[label="primQuotInt (Neg vuz381) (Pos (Succ vuz40700))",fontsize=16,color="black",shape="box"];6880 -> 6921[label="",style="solid", color="black", weight=3]; 101.93/62.90 6881[label="primQuotInt (Neg vuz381) (Pos Zero)",fontsize=16,color="black",shape="box"];6881 -> 6922[label="",style="solid", color="black", weight=3]; 101.93/62.90 6882[label="primQuotInt (Neg vuz381) (Neg (Succ vuz40700))",fontsize=16,color="black",shape="box"];6882 -> 6923[label="",style="solid", color="black", weight=3]; 101.93/62.90 6883[label="primQuotInt (Neg vuz381) (Neg Zero)",fontsize=16,color="black",shape="box"];6883 -> 6924[label="",style="solid", color="black", weight=3]; 101.93/62.90 392[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (fromInt vuz8 * signum (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];392 -> 420[label="",style="solid", color="black", weight=3]; 101.93/62.90 393[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signum (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];393 -> 421[label="",style="solid", color="black", weight=3]; 101.93/62.90 394[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];394 -> 422[label="",style="solid", color="black", weight=3]; 101.93/62.90 395[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signum (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];395 -> 423[label="",style="solid", color="black", weight=3]; 101.93/62.90 5385[label="Neg (Succ vuz287)",fontsize=16,color="green",shape="box"];396[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];396 -> 424[label="",style="solid", color="black", weight=3]; 101.93/62.90 5619[label="Zero",fontsize=16,color="green",shape="box"];5620[label="vuz80",fontsize=16,color="green",shape="box"];4436[label="primMulNat vuz2360 vuz2750",fontsize=16,color="burlywood",shape="triangle"];8379[label="vuz2360/Succ vuz23600",fontsize=10,color="white",style="solid",shape="box"];4436 -> 8379[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8379 -> 4490[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8380[label="vuz2360/Zero",fontsize=10,color="white",style="solid",shape="box"];4436 -> 8380[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8380 -> 4491[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 5622 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5622[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5622 -> 5647[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5622 -> 5648[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5623 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5623[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5623 -> 5649[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5621[label="reduce2D (Pos vuz325) vuz324",fontsize=16,color="black",shape="triangle"];5621 -> 5650[label="",style="solid", color="black", weight=3]; 101.93/62.90 398[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];398 -> 426[label="",style="solid", color="black", weight=3]; 101.93/62.90 5636[label="Zero",fontsize=16,color="green",shape="box"];5637[label="vuz80",fontsize=16,color="green",shape="box"];5624 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5624[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5624 -> 5651[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5624 -> 5652[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5625 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5625[label="abs (Pos Zero)",fontsize=16,color="magenta"];5625 -> 5653[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 400[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];400 -> 428[label="",style="solid", color="black", weight=3]; 101.93/62.90 401[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];401 -> 429[label="",style="solid", color="black", weight=3]; 101.93/62.90 5638[label="Zero",fontsize=16,color="green",shape="box"];5639[label="vuz80",fontsize=16,color="green",shape="box"];5626 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5626[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5626 -> 5654[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5626 -> 5655[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5627 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5627[label="abs (Neg Zero)",fontsize=16,color="magenta"];5627 -> 5656[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 403[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];403 -> 431[label="",style="solid", color="black", weight=3]; 101.93/62.90 6863[label="Zero",fontsize=16,color="green",shape="box"];6864[label="vuz80",fontsize=16,color="green",shape="box"];6866 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6866[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6866 -> 6889[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6866 -> 6890[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6867 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6867[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];6867 -> 6891[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6865[label="reduce2D (Neg vuz412) vuz411",fontsize=16,color="black",shape="triangle"];6865 -> 6892[label="",style="solid", color="black", weight=3]; 101.93/62.90 405[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];405 -> 433[label="",style="solid", color="black", weight=3]; 101.93/62.90 6884[label="Zero",fontsize=16,color="green",shape="box"];6885[label="vuz80",fontsize=16,color="green",shape="box"];6868 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6868[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6868 -> 6893[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6868 -> 6894[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6869 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6869[label="abs (Pos Zero)",fontsize=16,color="magenta"];6869 -> 6895[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 407[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];407 -> 435[label="",style="solid", color="black", weight=3]; 101.93/62.90 408[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];408 -> 436[label="",style="solid", color="black", weight=3]; 101.93/62.90 6886[label="Zero",fontsize=16,color="green",shape="box"];6887[label="vuz80",fontsize=16,color="green",shape="box"];6870 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6870[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6870 -> 6896[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6870 -> 6897[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6871 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6871[label="abs (Neg Zero)",fontsize=16,color="magenta"];6871 -> 6898[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 410[label="Integer vuz8 * Integer (Pos (Succ Zero)) `quot` reduce2D (Integer vuz8 * Integer (Pos (Succ Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];410 -> 438[label="",style="solid", color="black", weight=3]; 101.93/62.90 411[label="Integer (primMulInt (Pos vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];411 -> 439[label="",style="solid", color="black", weight=3]; 101.93/62.90 412[label="Integer (primMulInt (Neg vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];412 -> 440[label="",style="solid", color="black", weight=3]; 101.93/62.90 413[label="Integer vuz8 * fromInt (Neg (Succ Zero)) `quot` reduce2D (Integer vuz8 * fromInt (Neg (Succ Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];413 -> 441[label="",style="solid", color="black", weight=3]; 101.93/62.90 414[label="Integer (primMulInt (Pos vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];414 -> 442[label="",style="solid", color="black", weight=3]; 101.93/62.90 415[label="Integer (primMulInt (Neg vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];415 -> 443[label="",style="solid", color="black", weight=3]; 101.93/62.90 5640[label="vuz8",fontsize=16,color="green",shape="box"];5641[label="gcd (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5641 -> 5659[label="",style="solid", color="black", weight=3]; 101.93/62.90 5642[label="gcd3 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5642 -> 5660[label="",style="solid", color="black", weight=3]; 101.93/62.90 5643[label="Pos (primDivNatS vuz301 (Succ vuz31900))",fontsize=16,color="green",shape="box"];5643 -> 5661[label="",style="dashed", color="green", weight=3]; 101.93/62.90 5644 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5644[label="error []",fontsize=16,color="magenta"];5645[label="Neg (primDivNatS vuz301 (Succ vuz31900))",fontsize=16,color="green",shape="box"];5645 -> 5662[label="",style="dashed", color="green", weight=3]; 101.93/62.90 5646 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5646[label="error []",fontsize=16,color="magenta"];418 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.90 418[label="primQuotInt (Pos (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900)))",fontsize=16,color="magenta"];418 -> 5450[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 418 -> 5451[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6888[label="gcd3 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6888 -> 6925[label="",style="solid", color="black", weight=3]; 101.93/62.90 6921[label="Neg (primDivNatS vuz381 (Succ vuz40700))",fontsize=16,color="green",shape="box"];6921 -> 6930[label="",style="dashed", color="green", weight=3]; 101.93/62.90 6922 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6922[label="error []",fontsize=16,color="magenta"];6923[label="Pos (primDivNatS vuz381 (Succ vuz40700))",fontsize=16,color="green",shape="box"];6923 -> 6931[label="",style="dashed", color="green", weight=3]; 101.93/62.90 6924 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6924[label="error []",fontsize=16,color="magenta"];420[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signum (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];420 -> 448[label="",style="solid", color="black", weight=3]; 101.93/62.90 421[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];421 -> 449[label="",style="solid", color="black", weight=3]; 101.93/62.90 422[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd3 (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];422 -> 450[label="",style="solid", color="black", weight=3]; 101.93/62.90 423[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];423 -> 451[label="",style="solid", color="black", weight=3]; 101.93/62.90 424[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];424 -> 452[label="",style="solid", color="black", weight=3]; 101.93/62.90 4490[label="primMulNat (Succ vuz23600) vuz2750",fontsize=16,color="burlywood",shape="box"];8381[label="vuz2750/Succ vuz27500",fontsize=10,color="white",style="solid",shape="box"];4490 -> 8381[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8381 -> 4511[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8382[label="vuz2750/Zero",fontsize=10,color="white",style="solid",shape="box"];4490 -> 8382[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8382 -> 4512[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 4491[label="primMulNat Zero vuz2750",fontsize=16,color="burlywood",shape="box"];8383[label="vuz2750/Succ vuz27500",fontsize=10,color="white",style="solid",shape="box"];4491 -> 8383[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8383 -> 4513[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8384[label="vuz2750/Zero",fontsize=10,color="white",style="solid",shape="box"];4491 -> 8384[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8384 -> 4514[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 5647[label="Zero",fontsize=16,color="green",shape="box"];5648[label="vuz80",fontsize=16,color="green",shape="box"];5649[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5650[label="gcd (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5650 -> 5663[label="",style="solid", color="black", weight=3]; 101.93/62.90 426[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) False)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];426 -> 454[label="",style="solid", color="black", weight=3]; 101.93/62.90 5651[label="Zero",fontsize=16,color="green",shape="box"];5652[label="vuz80",fontsize=16,color="green",shape="box"];5653[label="Pos Zero",fontsize=16,color="green",shape="box"];428[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];428 -> 456[label="",style="solid", color="black", weight=3]; 101.93/62.90 429[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) False)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];429 -> 457[label="",style="solid", color="black", weight=3]; 101.93/62.90 5654[label="Zero",fontsize=16,color="green",shape="box"];5655[label="vuz80",fontsize=16,color="green",shape="box"];5656[label="Neg Zero",fontsize=16,color="green",shape="box"];431[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];431 -> 459[label="",style="solid", color="black", weight=3]; 101.93/62.90 6889[label="Zero",fontsize=16,color="green",shape="box"];6890[label="vuz80",fontsize=16,color="green",shape="box"];6891[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6892[label="gcd (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6892 -> 6926[label="",style="solid", color="black", weight=3]; 101.93/62.90 433[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) False)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];433 -> 461[label="",style="solid", color="black", weight=3]; 101.93/62.90 6893[label="Zero",fontsize=16,color="green",shape="box"];6894[label="vuz80",fontsize=16,color="green",shape="box"];6895[label="Pos Zero",fontsize=16,color="green",shape="box"];435[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];435 -> 463[label="",style="solid", color="black", weight=3]; 101.93/62.90 436[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) False)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];436 -> 464[label="",style="solid", color="black", weight=3]; 101.93/62.90 6896[label="Zero",fontsize=16,color="green",shape="box"];6897[label="vuz80",fontsize=16,color="green",shape="box"];6898[label="Neg Zero",fontsize=16,color="green",shape="box"];438[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` reduce2D (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];438 -> 466[label="",style="solid", color="black", weight=3]; 101.93/62.90 439[label="Integer (Pos (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8385[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];439 -> 8385[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8385 -> 467[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8386[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];439 -> 8386[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8386 -> 468[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 440[label="Integer (Neg (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8387[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];440 -> 8387[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8387 -> 469[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8388[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];440 -> 8388[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8388 -> 470[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 441[label="Integer vuz8 * Integer (Neg (Succ Zero)) `quot` reduce2D (Integer vuz8 * Integer (Neg (Succ Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];441 -> 471[label="",style="solid", color="black", weight=3]; 101.93/62.90 442[label="Integer (Pos (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8389[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];442 -> 8389[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8389 -> 472[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8390[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];442 -> 8390[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8390 -> 473[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 443[label="Integer (Neg (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8391[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];443 -> 8391[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8391 -> 474[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8392[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];443 -> 8392[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8392 -> 475[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 5659[label="gcd3 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5659 -> 5705[label="",style="solid", color="black", weight=3]; 101.93/62.90 5660 -> 5706[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5660[label="gcd2 (vuz322 * signum (Pos Zero) == fromInt (Pos Zero)) (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5660 -> 5707[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5661[label="primDivNatS vuz301 (Succ vuz31900)",fontsize=16,color="burlywood",shape="triangle"];8393[label="vuz301/Succ vuz3010",fontsize=10,color="white",style="solid",shape="box"];5661 -> 8393[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8393 -> 5708[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8394[label="vuz301/Zero",fontsize=10,color="white",style="solid",shape="box"];5661 -> 8394[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8394 -> 5709[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 3082[label="error []",fontsize=16,color="black",shape="triangle"];3082 -> 3126[label="",style="solid", color="black", weight=3]; 101.93/62.90 5662 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5662[label="primDivNatS vuz301 (Succ vuz31900)",fontsize=16,color="magenta"];5662 -> 5710[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5450[label="Succ vuz900",fontsize=16,color="green",shape="box"];5451 -> 5657[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5451[label="reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5451 -> 5658[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6925 -> 6932[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6925[label="gcd2 (vuz410 * signum (Neg Zero) == fromInt (Pos Zero)) (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6925 -> 6933[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6930 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6930[label="primDivNatS vuz381 (Succ vuz40700)",fontsize=16,color="magenta"];6930 -> 6934[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6930 -> 6935[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6931 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6931[label="primDivNatS vuz381 (Succ vuz40700)",fontsize=16,color="magenta"];6931 -> 6936[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6931 -> 6937[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 448[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];448 -> 480[label="",style="solid", color="black", weight=3]; 101.93/62.90 449[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];449 -> 481[label="",style="solid", color="black", weight=3]; 101.93/62.90 450[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (fromInt vuz8 * signum (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];450 -> 482[label="",style="solid", color="black", weight=3]; 101.93/62.90 451[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];451 -> 483[label="",style="solid", color="black", weight=3]; 101.93/62.90 452[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];452 -> 484[label="",style="solid", color="black", weight=3]; 101.93/62.90 4511[label="primMulNat (Succ vuz23600) (Succ vuz27500)",fontsize=16,color="black",shape="box"];4511 -> 4518[label="",style="solid", color="black", weight=3]; 101.93/62.90 4512[label="primMulNat (Succ vuz23600) Zero",fontsize=16,color="black",shape="box"];4512 -> 4519[label="",style="solid", color="black", weight=3]; 101.93/62.90 4513[label="primMulNat Zero (Succ vuz27500)",fontsize=16,color="black",shape="box"];4513 -> 4520[label="",style="solid", color="black", weight=3]; 101.93/62.90 4514[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];4514 -> 4521[label="",style="solid", color="black", weight=3]; 101.93/62.90 5663[label="gcd3 (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5663 -> 5711[label="",style="solid", color="black", weight=3]; 101.93/62.90 454[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) otherwise)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];454 -> 487[label="",style="solid", color="black", weight=3]; 101.93/62.90 456[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];456 -> 490[label="",style="solid", color="black", weight=3]; 101.93/62.90 457[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) otherwise)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];457 -> 491[label="",style="solid", color="black", weight=3]; 101.93/62.90 459[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];459 -> 494[label="",style="solid", color="black", weight=3]; 101.93/62.90 6926[label="gcd3 (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6926 -> 6938[label="",style="solid", color="black", weight=3]; 101.93/62.90 461[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) otherwise)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];461 -> 497[label="",style="solid", color="black", weight=3]; 101.93/62.90 463[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];463 -> 500[label="",style="solid", color="black", weight=3]; 101.93/62.90 464[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) otherwise)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];464 -> 501[label="",style="solid", color="black", weight=3]; 101.93/62.90 466[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];466 -> 504[label="",style="solid", color="black", weight=3]; 101.93/62.90 467[label="Integer (Pos (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];467 -> 505[label="",style="solid", color="black", weight=3]; 101.93/62.90 468[label="Integer (Pos (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];468 -> 506[label="",style="solid", color="black", weight=3]; 101.93/62.90 469[label="Integer (Neg (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];469 -> 507[label="",style="solid", color="black", weight=3]; 101.93/62.90 470[label="Integer (Neg (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];470 -> 508[label="",style="solid", color="black", weight=3]; 101.93/62.90 471[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` reduce2D (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];471 -> 509[label="",style="solid", color="black", weight=3]; 101.93/62.90 472[label="Integer (Pos (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];472 -> 510[label="",style="solid", color="black", weight=3]; 101.93/62.90 473[label="Integer (Pos (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];473 -> 511[label="",style="solid", color="black", weight=3]; 101.93/62.90 474[label="Integer (Neg (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];474 -> 512[label="",style="solid", color="black", weight=3]; 101.93/62.90 475[label="Integer (Neg (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];475 -> 513[label="",style="solid", color="black", weight=3]; 101.93/62.90 5705 -> 5712[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5705[label="gcd2 (vuz323 * signum (Pos (Succ vuz900)) == fromInt (Pos Zero)) (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5705 -> 5713[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5707 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5707[label="vuz322 * signum (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5707 -> 5714[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5706[label="gcd2 vuz333 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];8395[label="vuz333/False",fontsize=10,color="white",style="solid",shape="box"];5706 -> 8395[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8395 -> 5715[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8396[label="vuz333/True",fontsize=10,color="white",style="solid",shape="box"];5706 -> 8396[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8396 -> 5716[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 5708[label="primDivNatS (Succ vuz3010) (Succ vuz31900)",fontsize=16,color="black",shape="box"];5708 -> 5717[label="",style="solid", color="black", weight=3]; 101.93/62.90 5709[label="primDivNatS Zero (Succ vuz31900)",fontsize=16,color="black",shape="box"];5709 -> 5718[label="",style="solid", color="black", weight=3]; 101.93/62.90 3126[label="error []",fontsize=16,color="red",shape="box"];5710[label="vuz31900",fontsize=16,color="green",shape="box"];5658 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.90 5658[label="fromInt vuz8",fontsize=16,color="magenta"];5658 -> 5664[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 5657[label="reduce2D (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5657 -> 5665[label="",style="solid", color="black", weight=3]; 101.93/62.90 6933 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.90 6933[label="vuz410 * signum (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6933 -> 6939[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 6932[label="gcd2 vuz415 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="burlywood",shape="triangle"];8397[label="vuz415/False",fontsize=10,color="white",style="solid",shape="box"];6932 -> 8397[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8397 -> 6940[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 8398[label="vuz415/True",fontsize=10,color="white",style="solid",shape="box"];6932 -> 8398[label="",style="solid", color="burlywood", weight=9]; 101.93/62.90 8398 -> 6941[label="",style="solid", color="burlywood", weight=3]; 101.93/62.90 6934[label="vuz40700",fontsize=16,color="green",shape="box"];6935[label="vuz381",fontsize=16,color="green",shape="box"];6936[label="vuz40700",fontsize=16,color="green",shape="box"];6937[label="vuz381",fontsize=16,color="green",shape="box"];480[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];480 -> 520[label="",style="solid", color="black", weight=3]; 101.93/62.90 481 -> 521[label="",style="dashed", color="red", weight=0]; 101.93/62.90 481[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (Integer (Pos Zero) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (Integer (Pos Zero) == fromInt (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="magenta"];481 -> 522[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 481 -> 523[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 482[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signum (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];482 -> 524[label="",style="solid", color="black", weight=3]; 101.93/62.90 483 -> 525[label="",style="dashed", color="red", weight=0]; 101.93/62.90 483[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (Integer (Neg Zero) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (Integer (Neg Zero) == fromInt (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="magenta"];483 -> 526[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 483 -> 527[label="",style="dashed", color="magenta", weight=3]; 101.93/62.90 484[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos (Succ Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];484 -> 528[label="",style="solid", color="black", weight=3]; 101.93/62.91 4518 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.91 4518[label="primPlusNat (primMulNat vuz23600 (Succ vuz27500)) (Succ vuz27500)",fontsize=16,color="magenta"];4518 -> 4576[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 4519[label="Zero",fontsize=16,color="green",shape="box"];4520[label="Zero",fontsize=16,color="green",shape="box"];4521[label="Zero",fontsize=16,color="green",shape="box"];5711 -> 5719[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5711[label="gcd2 (Pos vuz325 == fromInt (Pos Zero)) (Pos vuz325) vuz324",fontsize=16,color="magenta"];5711 -> 5720[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 487[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) True)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];487 -> 531[label="",style="solid", color="black", weight=3]; 101.93/62.91 490[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];490 -> 534[label="",style="solid", color="black", weight=3]; 101.93/62.91 491[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) True)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];491 -> 535[label="",style="solid", color="black", weight=3]; 101.93/62.91 494[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos (Succ Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];494 -> 538[label="",style="solid", color="black", weight=3]; 101.93/62.91 6938 -> 6954[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6938[label="gcd2 (Neg vuz412 == fromInt (Pos Zero)) (Neg vuz412) vuz411",fontsize=16,color="magenta"];6938 -> 6955[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 497[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) True)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];497 -> 541[label="",style="solid", color="black", weight=3]; 101.93/62.91 500[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];500 -> 544[label="",style="solid", color="black", weight=3]; 101.93/62.91 501[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) True)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];501 -> 545[label="",style="solid", color="black", weight=3]; 101.93/62.91 504[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd3 (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];504 -> 548[label="",style="solid", color="black", weight=3]; 101.93/62.91 505 -> 549[label="",style="dashed", color="red", weight=0]; 101.93/62.91 505[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];505 -> 550[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 506 -> 549[label="",style="dashed", color="red", weight=0]; 101.93/62.91 506[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];506 -> 551[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 507 -> 552[label="",style="dashed", color="red", weight=0]; 101.93/62.91 507[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];507 -> 553[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 508 -> 552[label="",style="dashed", color="red", weight=0]; 101.93/62.91 508[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];508 -> 554[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 509[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];509 -> 555[label="",style="solid", color="black", weight=3]; 101.93/62.91 510 -> 556[label="",style="dashed", color="red", weight=0]; 101.93/62.91 510[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];510 -> 557[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 511 -> 556[label="",style="dashed", color="red", weight=0]; 101.93/62.91 511[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];511 -> 558[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 512 -> 559[label="",style="dashed", color="red", weight=0]; 101.93/62.91 512[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];512 -> 560[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 513 -> 559[label="",style="dashed", color="red", weight=0]; 101.93/62.91 513[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];513 -> 561[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5713 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5713[label="vuz323 * signum (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5713 -> 5721[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5712[label="gcd2 vuz335 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8399[label="vuz335/False",fontsize=10,color="white",style="solid",shape="box"];5712 -> 8399[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8399 -> 5722[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8400[label="vuz335/True",fontsize=10,color="white",style="solid",shape="box"];5712 -> 8400[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8400 -> 5723[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5714[label="vuz322 * signum (Pos Zero)",fontsize=16,color="black",shape="triangle"];5714 -> 5724[label="",style="solid", color="black", weight=3]; 101.93/62.91 5715[label="gcd2 False (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5715 -> 5725[label="",style="solid", color="black", weight=3]; 101.93/62.91 5716[label="gcd2 True (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5716 -> 5726[label="",style="solid", color="black", weight=3]; 101.93/62.91 5717[label="primDivNatS0 vuz3010 vuz31900 (primGEqNatS vuz3010 vuz31900)",fontsize=16,color="burlywood",shape="box"];8401[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];5717 -> 8401[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8401 -> 5727[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8402[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];5717 -> 8402[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8402 -> 5728[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5718[label="Zero",fontsize=16,color="green",shape="box"];5664[label="vuz8",fontsize=16,color="green",shape="box"];5665[label="gcd (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5665 -> 5729[label="",style="solid", color="black", weight=3]; 101.93/62.91 6939[label="vuz410 * signum (Neg Zero)",fontsize=16,color="black",shape="triangle"];6939 -> 6956[label="",style="solid", color="black", weight=3]; 101.93/62.91 6940[label="gcd2 False (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6940 -> 6957[label="",style="solid", color="black", weight=3]; 101.93/62.91 6941[label="gcd2 True (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6941 -> 6958[label="",style="solid", color="black", weight=3]; 101.93/62.91 520 -> 569[label="",style="dashed", color="red", weight=0]; 101.93/62.91 520[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];520 -> 570[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 520 -> 571[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 522 -> 131[label="",style="dashed", color="red", weight=0]; 101.93/62.91 522[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];523 -> 131[label="",style="dashed", color="red", weight=0]; 101.93/62.91 523[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];521[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz24 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8403[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];521 -> 8403[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8403 -> 572[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8404[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];521 -> 8404[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8404 -> 573[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 524[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];524 -> 574[label="",style="solid", color="black", weight=3]; 101.93/62.91 526 -> 133[label="",style="dashed", color="red", weight=0]; 101.93/62.91 526[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];527 -> 133[label="",style="dashed", color="red", weight=0]; 101.93/62.91 527[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];525[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz26 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8405[label="vuz26/False",fontsize=10,color="white",style="solid",shape="box"];525 -> 8405[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8405 -> 575[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8406[label="vuz26/True",fontsize=10,color="white",style="solid",shape="box"];525 -> 8406[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8406 -> 576[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 528[label="primQuotInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Pos (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];528 -> 577[label="",style="solid", color="black", weight=3]; 101.93/62.91 4576 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 4576[label="primMulNat vuz23600 (Succ vuz27500)",fontsize=16,color="magenta"];4576 -> 4658[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 4576 -> 4659[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 4551[label="primPlusNat vuz285 (Succ vuz27500)",fontsize=16,color="burlywood",shape="triangle"];8407[label="vuz285/Succ vuz2850",fontsize=10,color="white",style="solid",shape="box"];4551 -> 8407[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8407 -> 4579[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8408[label="vuz285/Zero",fontsize=10,color="white",style="solid",shape="box"];4551 -> 8408[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8408 -> 4580[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5720 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5720[label="Pos vuz325 == fromInt (Pos Zero)",fontsize=16,color="magenta"];5720 -> 5730[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5719[label="gcd2 vuz337 (Pos vuz325) vuz324",fontsize=16,color="burlywood",shape="triangle"];8409[label="vuz337/False",fontsize=10,color="white",style="solid",shape="box"];5719 -> 8409[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8409 -> 5731[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8410[label="vuz337/True",fontsize=10,color="white",style="solid",shape="box"];5719 -> 8410[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8410 -> 5732[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 531[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];531 -> 581[label="",style="solid", color="black", weight=3]; 101.93/62.91 534[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];534 -> 585[label="",style="solid", color="black", weight=3]; 101.93/62.91 535[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];535 -> 586[label="",style="solid", color="black", weight=3]; 101.93/62.91 538[label="primQuotInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Pos (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];538 -> 590[label="",style="solid", color="black", weight=3]; 101.93/62.91 6955 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6955[label="Neg vuz412 == fromInt (Pos Zero)",fontsize=16,color="magenta"];6955 -> 6959[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6954[label="gcd2 vuz419 (Neg vuz412) vuz411",fontsize=16,color="burlywood",shape="triangle"];8411[label="vuz419/False",fontsize=10,color="white",style="solid",shape="box"];6954 -> 8411[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8411 -> 6960[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8412[label="vuz419/True",fontsize=10,color="white",style="solid",shape="box"];6954 -> 8412[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8412 -> 6961[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 541[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];541 -> 594[label="",style="solid", color="black", weight=3]; 101.93/62.91 544[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];544 -> 598[label="",style="solid", color="black", weight=3]; 101.93/62.91 545[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];545 -> 599[label="",style="solid", color="black", weight=3]; 101.93/62.91 548[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];548 -> 603[label="",style="solid", color="black", weight=3]; 101.93/62.91 550 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.91 550[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];550 -> 2689[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 550 -> 2690[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 549[label="Integer (Pos Zero) `quot` gcd2 vuz27 (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8413[label="vuz27/False",fontsize=10,color="white",style="solid",shape="box"];549 -> 8413[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8413 -> 604[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8414[label="vuz27/True",fontsize=10,color="white",style="solid",shape="box"];549 -> 8414[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8414 -> 605[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 551 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.91 551[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];551 -> 2691[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 551 -> 2692[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 553 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.91 553[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];553 -> 2693[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 553 -> 2694[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 552[label="Integer (Neg Zero) `quot` gcd2 vuz28 (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8415[label="vuz28/False",fontsize=10,color="white",style="solid",shape="box"];552 -> 8415[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8415 -> 606[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8416[label="vuz28/True",fontsize=10,color="white",style="solid",shape="box"];552 -> 8416[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8416 -> 607[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 554 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.91 554[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];554 -> 2695[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 554 -> 2696[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 555[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd3 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];555 -> 608[label="",style="solid", color="black", weight=3]; 101.93/62.91 557 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.91 557[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];557 -> 2697[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 557 -> 2698[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 556[label="Integer (Pos Zero) `quot` gcd2 vuz29 (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8417[label="vuz29/False",fontsize=10,color="white",style="solid",shape="box"];556 -> 8417[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8417 -> 609[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8418[label="vuz29/True",fontsize=10,color="white",style="solid",shape="box"];556 -> 8418[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8418 -> 610[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 558 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.91 558[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];558 -> 2699[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 558 -> 2700[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 560 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.91 560[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];560 -> 2701[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 560 -> 2702[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 559[label="Integer (Neg Zero) `quot` gcd2 vuz30 (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8419[label="vuz30/False",fontsize=10,color="white",style="solid",shape="box"];559 -> 8419[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8419 -> 611[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8420[label="vuz30/True",fontsize=10,color="white",style="solid",shape="box"];559 -> 8420[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8420 -> 612[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 561 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.91 561[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];561 -> 2703[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 561 -> 2704[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5721[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5721 -> 5812[label="",style="solid", color="black", weight=3]; 101.93/62.91 5722[label="gcd2 False (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5722 -> 5813[label="",style="solid", color="black", weight=3]; 101.93/62.91 5723[label="gcd2 True (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5723 -> 5814[label="",style="solid", color="black", weight=3]; 101.93/62.91 5724[label="primMulInt vuz322 (signum (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8421[label="vuz322/Pos vuz3220",fontsize=10,color="white",style="solid",shape="box"];5724 -> 8421[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8421 -> 5815[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8422[label="vuz322/Neg vuz3220",fontsize=10,color="white",style="solid",shape="box"];5724 -> 8422[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8422 -> 5816[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5725 -> 5817[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5725[label="gcd0 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5725 -> 5818[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5726 -> 5819[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5726[label="gcd1 (Pos Zero == fromInt (Pos Zero)) (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5726 -> 5820[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5726 -> 5821[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5727[label="primDivNatS0 (Succ vuz30100) vuz31900 (primGEqNatS (Succ vuz30100) vuz31900)",fontsize=16,color="burlywood",shape="box"];8423[label="vuz31900/Succ vuz319000",fontsize=10,color="white",style="solid",shape="box"];5727 -> 8423[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8423 -> 5822[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8424[label="vuz31900/Zero",fontsize=10,color="white",style="solid",shape="box"];5727 -> 8424[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8424 -> 5823[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5728[label="primDivNatS0 Zero vuz31900 (primGEqNatS Zero vuz31900)",fontsize=16,color="burlywood",shape="box"];8425[label="vuz31900/Succ vuz319000",fontsize=10,color="white",style="solid",shape="box"];5728 -> 8425[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8425 -> 5824[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8426[label="vuz31900/Zero",fontsize=10,color="white",style="solid",shape="box"];5728 -> 8426[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8426 -> 5825[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5729[label="gcd3 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5729 -> 5826[label="",style="solid", color="black", weight=3]; 101.93/62.91 6956[label="primMulInt vuz410 (signum (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8427[label="vuz410/Pos vuz4100",fontsize=10,color="white",style="solid",shape="box"];6956 -> 8427[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8427 -> 7005[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8428[label="vuz410/Neg vuz4100",fontsize=10,color="white",style="solid",shape="box"];6956 -> 8428[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8428 -> 7006[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 6957 -> 7007[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6957[label="gcd0 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6957 -> 7008[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6958 -> 7009[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6958[label="gcd1 (Neg Zero == fromInt (Pos Zero)) (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6958 -> 7010[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6958 -> 7011[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 570 -> 148[label="",style="dashed", color="red", weight=0]; 101.93/62.91 570[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];570 -> 620[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 571 -> 148[label="",style="dashed", color="red", weight=0]; 101.93/62.91 571[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];571 -> 621[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 569[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz32 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8429[label="vuz32/False",fontsize=10,color="white",style="solid",shape="box"];569 -> 8429[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8429 -> 622[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8430[label="vuz32/True",fontsize=10,color="white",style="solid",shape="box"];569 -> 8430[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8430 -> 623[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 572[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];572 -> 624[label="",style="solid", color="black", weight=3]; 101.93/62.91 573[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];573 -> 625[label="",style="solid", color="black", weight=3]; 101.93/62.91 574[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];574 -> 626[label="",style="solid", color="black", weight=3]; 101.93/62.91 575[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];575 -> 627[label="",style="solid", color="black", weight=3]; 101.93/62.91 576[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];576 -> 628[label="",style="solid", color="black", weight=3]; 101.93/62.91 577 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.91 577[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];577 -> 5469[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 577 -> 5470[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 4658[label="Succ vuz27500",fontsize=16,color="green",shape="box"];4659[label="vuz23600",fontsize=16,color="green",shape="box"];4579[label="primPlusNat (Succ vuz2850) (Succ vuz27500)",fontsize=16,color="black",shape="box"];4579 -> 4655[label="",style="solid", color="black", weight=3]; 101.93/62.91 4580[label="primPlusNat Zero (Succ vuz27500)",fontsize=16,color="black",shape="box"];4580 -> 4656[label="",style="solid", color="black", weight=3]; 101.93/62.91 5730[label="Pos vuz325",fontsize=16,color="green",shape="box"];5731[label="gcd2 False (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5731 -> 5827[label="",style="solid", color="black", weight=3]; 101.93/62.91 5732[label="gcd2 True (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5732 -> 5828[label="",style="solid", color="black", weight=3]; 101.93/62.91 581[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];581 -> 632[label="",style="solid", color="black", weight=3]; 101.93/62.91 585 -> 6450[label="",style="dashed", color="red", weight=0]; 101.93/62.91 585[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="magenta"];585 -> 6511[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 585 -> 6512[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 586[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];586 -> 636[label="",style="solid", color="black", weight=3]; 101.93/62.91 590 -> 6450[label="",style="dashed", color="red", weight=0]; 101.93/62.91 590[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];590 -> 6513[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 590 -> 6514[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6959[label="Neg vuz412",fontsize=16,color="green",shape="box"];6960[label="gcd2 False (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6960 -> 7012[label="",style="solid", color="black", weight=3]; 101.93/62.91 6961[label="gcd2 True (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6961 -> 7013[label="",style="solid", color="black", weight=3]; 101.93/62.91 594[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];594 -> 642[label="",style="solid", color="black", weight=3]; 101.93/62.91 598 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.91 598[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="magenta"];598 -> 5473[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 598 -> 5474[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 599[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];599 -> 646[label="",style="solid", color="black", weight=3]; 101.93/62.91 603[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];603 -> 649[label="",style="solid", color="black", weight=3]; 101.93/62.91 2689[label="Pos Zero",fontsize=16,color="green",shape="box"];2690[label="Pos Zero",fontsize=16,color="green",shape="box"];604[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];604 -> 650[label="",style="solid", color="black", weight=3]; 101.93/62.91 605[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];605 -> 651[label="",style="solid", color="black", weight=3]; 101.93/62.91 2691[label="Pos Zero",fontsize=16,color="green",shape="box"];2692[label="Pos Zero",fontsize=16,color="green",shape="box"];2693[label="Pos Zero",fontsize=16,color="green",shape="box"];2694[label="Neg Zero",fontsize=16,color="green",shape="box"];606[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];606 -> 652[label="",style="solid", color="black", weight=3]; 101.93/62.91 607[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];607 -> 653[label="",style="solid", color="black", weight=3]; 101.93/62.91 2695[label="Pos Zero",fontsize=16,color="green",shape="box"];2696[label="Neg Zero",fontsize=16,color="green",shape="box"];608[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];608 -> 654[label="",style="solid", color="black", weight=3]; 101.93/62.91 2697[label="Pos Zero",fontsize=16,color="green",shape="box"];2698[label="Pos Zero",fontsize=16,color="green",shape="box"];609[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];609 -> 655[label="",style="solid", color="black", weight=3]; 101.93/62.91 610[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];610 -> 656[label="",style="solid", color="black", weight=3]; 101.93/62.91 2699[label="Pos Zero",fontsize=16,color="green",shape="box"];2700[label="Pos Zero",fontsize=16,color="green",shape="box"];2701[label="Pos Zero",fontsize=16,color="green",shape="box"];2702[label="Neg Zero",fontsize=16,color="green",shape="box"];611[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];611 -> 657[label="",style="solid", color="black", weight=3]; 101.93/62.91 612[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];612 -> 658[label="",style="solid", color="black", weight=3]; 101.93/62.91 2703[label="Pos Zero",fontsize=16,color="green",shape="box"];2704[label="Neg Zero",fontsize=16,color="green",shape="box"];5812[label="primMulInt vuz323 (signum (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8431[label="vuz323/Pos vuz3230",fontsize=10,color="white",style="solid",shape="box"];5812 -> 8431[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8431 -> 5829[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8432[label="vuz323/Neg vuz3230",fontsize=10,color="white",style="solid",shape="box"];5812 -> 8432[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8432 -> 5830[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5813 -> 5831[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5813[label="gcd0 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5813 -> 5832[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5814 -> 5833[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5814[label="gcd1 (Pos (Succ vuz900) == fromInt (Pos Zero)) (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5814 -> 5834[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5814 -> 5835[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5815[label="primMulInt (Pos vuz3220) (signum (Pos Zero))",fontsize=16,color="black",shape="box"];5815 -> 5836[label="",style="solid", color="black", weight=3]; 101.93/62.91 5816[label="primMulInt (Neg vuz3220) (signum (Pos Zero))",fontsize=16,color="black",shape="box"];5816 -> 5837[label="",style="solid", color="black", weight=3]; 101.93/62.91 5818 -> 5714[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5818[label="vuz322 * signum (Pos Zero)",fontsize=16,color="magenta"];5817[label="gcd0 vuz344 (Pos Zero)",fontsize=16,color="black",shape="triangle"];5817 -> 5838[label="",style="solid", color="black", weight=3]; 101.93/62.91 5820 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5820[label="Pos Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];5820 -> 5839[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5821 -> 5714[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5821[label="vuz322 * signum (Pos Zero)",fontsize=16,color="magenta"];5819[label="gcd1 vuz346 vuz345 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];8433[label="vuz346/False",fontsize=10,color="white",style="solid",shape="box"];5819 -> 8433[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8433 -> 5840[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8434[label="vuz346/True",fontsize=10,color="white",style="solid",shape="box"];5819 -> 8434[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8434 -> 5841[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5822[label="primDivNatS0 (Succ vuz30100) (Succ vuz319000) (primGEqNatS (Succ vuz30100) (Succ vuz319000))",fontsize=16,color="black",shape="box"];5822 -> 5842[label="",style="solid", color="black", weight=3]; 101.93/62.91 5823[label="primDivNatS0 (Succ vuz30100) Zero (primGEqNatS (Succ vuz30100) Zero)",fontsize=16,color="black",shape="box"];5823 -> 5843[label="",style="solid", color="black", weight=3]; 101.93/62.91 5824[label="primDivNatS0 Zero (Succ vuz319000) (primGEqNatS Zero (Succ vuz319000))",fontsize=16,color="black",shape="box"];5824 -> 5844[label="",style="solid", color="black", weight=3]; 101.93/62.91 5825[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];5825 -> 5845[label="",style="solid", color="black", weight=3]; 101.93/62.91 5826 -> 5846[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5826[label="gcd2 (vuz326 * signum (Neg (Succ vuz900)) == fromInt (Pos Zero)) (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5826 -> 5847[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7005[label="primMulInt (Pos vuz4100) (signum (Neg Zero))",fontsize=16,color="black",shape="box"];7005 -> 7014[label="",style="solid", color="black", weight=3]; 101.93/62.91 7006[label="primMulInt (Neg vuz4100) (signum (Neg Zero))",fontsize=16,color="black",shape="box"];7006 -> 7015[label="",style="solid", color="black", weight=3]; 101.93/62.91 7008 -> 6939[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7008[label="vuz410 * signum (Neg Zero)",fontsize=16,color="magenta"];7007[label="gcd0 vuz421 (Neg Zero)",fontsize=16,color="black",shape="triangle"];7007 -> 7016[label="",style="solid", color="black", weight=3]; 101.93/62.91 7010 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7010[label="Neg Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];7010 -> 7017[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7011 -> 6939[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7011[label="vuz410 * signum (Neg Zero)",fontsize=16,color="magenta"];7009[label="gcd1 vuz423 vuz422 (Neg Zero)",fontsize=16,color="burlywood",shape="triangle"];8435[label="vuz423/False",fontsize=10,color="white",style="solid",shape="box"];7009 -> 8435[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8435 -> 7018[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8436[label="vuz423/True",fontsize=10,color="white",style="solid",shape="box"];7009 -> 8436[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8436 -> 7019[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 620[label="vuz900",fontsize=16,color="green",shape="box"];621[label="vuz900",fontsize=16,color="green",shape="box"];622[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];622 -> 666[label="",style="solid", color="black", weight=3]; 101.93/62.91 623[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];623 -> 667[label="",style="solid", color="black", weight=3]; 101.93/62.91 624[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (Integer (Pos Zero) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (Integer (Pos Zero) > fromInt (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];624 -> 668[label="",style="solid", color="black", weight=3]; 101.93/62.91 625[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];625 -> 669[label="",style="solid", color="black", weight=3]; 101.93/62.91 626[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == fromInt (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];626 -> 670[label="",style="solid", color="black", weight=3]; 101.93/62.91 627[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (Integer (Neg Zero) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (Integer (Neg Zero) > fromInt (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];627 -> 671[label="",style="solid", color="black", weight=3]; 101.93/62.91 628[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];628 -> 672[label="",style="solid", color="black", weight=3]; 101.93/62.91 5469 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5469[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5469 -> 5666[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5469 -> 5667[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5470 -> 5621[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5470[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5470 -> 5628[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5470 -> 5629[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 4655[label="Succ (Succ (primPlusNat vuz2850 vuz27500))",fontsize=16,color="green",shape="box"];4655 -> 4682[label="",style="dashed", color="green", weight=3]; 101.93/62.91 4656[label="Succ vuz27500",fontsize=16,color="green",shape="box"];5827[label="gcd0 (Pos vuz325) vuz324",fontsize=16,color="black",shape="triangle"];5827 -> 5848[label="",style="solid", color="black", weight=3]; 101.93/62.91 5828 -> 5849[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5828[label="gcd1 (vuz324 == fromInt (Pos Zero)) (Pos vuz325) vuz324",fontsize=16,color="magenta"];5828 -> 5850[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 632 -> 6450[label="",style="dashed", color="red", weight=0]; 101.93/62.91 632[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="magenta"];632 -> 6525[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 632 -> 6526[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6511 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6511[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6511 -> 6899[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6511 -> 6900[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6512 -> 6865[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6512[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900)))",fontsize=16,color="magenta"];6512 -> 6872[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6512 -> 6873[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 636 -> 6450[label="",style="dashed", color="red", weight=0]; 101.93/62.91 636[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="magenta"];636 -> 6529[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 636 -> 6530[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6513 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6513[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6513 -> 6901[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6513 -> 6902[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6514 -> 6865[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6514[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6514 -> 6874[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6514 -> 6875[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7012[label="gcd0 (Neg vuz412) vuz411",fontsize=16,color="black",shape="triangle"];7012 -> 7048[label="",style="solid", color="black", weight=3]; 101.93/62.91 7013 -> 7049[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7013[label="gcd1 (vuz411 == fromInt (Pos Zero)) (Neg vuz412) vuz411",fontsize=16,color="magenta"];7013 -> 7050[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 642 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.91 642[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="magenta"];642 -> 5481[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 642 -> 5482[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5473 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5473[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5473 -> 5668[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5473 -> 5669[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5474 -> 5621[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5474[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5474 -> 5630[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5474 -> 5631[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 646 -> 5417[label="",style="dashed", color="red", weight=0]; 101.93/62.91 646[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="magenta"];646 -> 5485[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 646 -> 5486[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 649[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8437[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];649 -> 8437[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8437 -> 693[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8438[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];649 -> 8438[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8438 -> 694[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 650[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];650 -> 695[label="",style="solid", color="black", weight=3]; 101.93/62.91 651[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];651 -> 696[label="",style="solid", color="black", weight=3]; 101.93/62.91 652[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];652 -> 697[label="",style="solid", color="black", weight=3]; 101.93/62.91 653[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];653 -> 698[label="",style="solid", color="black", weight=3]; 101.93/62.91 654[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];654 -> 699[label="",style="solid", color="black", weight=3]; 101.93/62.91 655[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];655 -> 700[label="",style="solid", color="black", weight=3]; 101.93/62.91 656[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];656 -> 701[label="",style="solid", color="black", weight=3]; 101.93/62.91 657[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];657 -> 702[label="",style="solid", color="black", weight=3]; 101.93/62.91 658[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];658 -> 703[label="",style="solid", color="black", weight=3]; 101.93/62.91 5829[label="primMulInt (Pos vuz3230) (signum (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5829 -> 5851[label="",style="solid", color="black", weight=3]; 101.93/62.91 5830[label="primMulInt (Neg vuz3230) (signum (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5830 -> 5852[label="",style="solid", color="black", weight=3]; 101.93/62.91 5832 -> 5721[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5832[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="magenta"];5831[label="gcd0 vuz348 (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5831 -> 5853[label="",style="solid", color="black", weight=3]; 101.93/62.91 5834 -> 5721[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5834[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="magenta"];5835 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5835[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5835 -> 5854[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5833[label="gcd1 vuz350 vuz349 (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8439[label="vuz350/False",fontsize=10,color="white",style="solid",shape="box"];5833 -> 8439[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8439 -> 5855[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8440[label="vuz350/True",fontsize=10,color="white",style="solid",shape="box"];5833 -> 8440[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8440 -> 5856[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5836 -> 6106[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5836[label="primMulInt (Pos vuz3220) (signumReal (Pos Zero))",fontsize=16,color="magenta"];5836 -> 6107[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5837 -> 6140[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5837[label="primMulInt (Neg vuz3220) (signumReal (Pos Zero))",fontsize=16,color="magenta"];5837 -> 6141[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5838 -> 4166[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5838[label="gcd0Gcd' (abs vuz344) (abs (Pos Zero))",fontsize=16,color="magenta"];5838 -> 5859[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5838 -> 5860[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5839[label="Pos Zero",fontsize=16,color="green",shape="box"];5840[label="gcd1 False vuz345 (Pos Zero)",fontsize=16,color="black",shape="box"];5840 -> 5861[label="",style="solid", color="black", weight=3]; 101.93/62.91 5841[label="gcd1 True vuz345 (Pos Zero)",fontsize=16,color="black",shape="box"];5841 -> 5862[label="",style="solid", color="black", weight=3]; 101.93/62.91 5842 -> 7477[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5842[label="primDivNatS0 (Succ vuz30100) (Succ vuz319000) (primGEqNatS vuz30100 vuz319000)",fontsize=16,color="magenta"];5842 -> 7478[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5842 -> 7479[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5842 -> 7480[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5842 -> 7481[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5843[label="primDivNatS0 (Succ vuz30100) Zero True",fontsize=16,color="black",shape="box"];5843 -> 5865[label="",style="solid", color="black", weight=3]; 101.93/62.91 5844[label="primDivNatS0 Zero (Succ vuz319000) False",fontsize=16,color="black",shape="box"];5844 -> 5866[label="",style="solid", color="black", weight=3]; 101.93/62.91 5845[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];5845 -> 5867[label="",style="solid", color="black", weight=3]; 101.93/62.91 5847 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5847[label="vuz326 * signum (Neg (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5847 -> 5868[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5846[label="gcd2 vuz352 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8441[label="vuz352/False",fontsize=10,color="white",style="solid",shape="box"];5846 -> 8441[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8441 -> 5869[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8442[label="vuz352/True",fontsize=10,color="white",style="solid",shape="box"];5846 -> 8442[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8442 -> 5870[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 7014 -> 6106[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7014[label="primMulInt (Pos vuz4100) (signumReal (Neg Zero))",fontsize=16,color="magenta"];7014 -> 7051[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7014 -> 7052[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7015 -> 6140[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7015[label="primMulInt (Neg vuz4100) (signumReal (Neg Zero))",fontsize=16,color="magenta"];7015 -> 7053[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7015 -> 7054[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7016 -> 4166[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7016[label="gcd0Gcd' (abs vuz421) (abs (Neg Zero))",fontsize=16,color="magenta"];7016 -> 7055[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7016 -> 7056[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7017[label="Neg Zero",fontsize=16,color="green",shape="box"];7018[label="gcd1 False vuz422 (Neg Zero)",fontsize=16,color="black",shape="box"];7018 -> 7057[label="",style="solid", color="black", weight=3]; 101.93/62.91 7019[label="gcd1 True vuz422 (Neg Zero)",fontsize=16,color="black",shape="box"];7019 -> 7058[label="",style="solid", color="black", weight=3]; 101.93/62.91 666[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];666 -> 712[label="",style="solid", color="black", weight=3]; 101.93/62.91 667[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];667 -> 713[label="",style="solid", color="black", weight=3]; 101.93/62.91 668[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];668 -> 714[label="",style="solid", color="black", weight=3]; 101.93/62.91 669[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];669 -> 715[label="",style="solid", color="black", weight=3]; 101.93/62.91 670[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == Integer (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];670 -> 716[label="",style="solid", color="black", weight=3]; 101.93/62.91 671[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];671 -> 717[label="",style="solid", color="black", weight=3]; 101.93/62.91 672[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];672 -> 718[label="",style="solid", color="black", weight=3]; 101.93/62.91 5666[label="Succ Zero",fontsize=16,color="green",shape="box"];5667[label="vuz80",fontsize=16,color="green",shape="box"];5628 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5628[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5628 -> 5670[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5628 -> 5671[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5629 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5629[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5629 -> 5672[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 4682[label="primPlusNat vuz2850 vuz27500",fontsize=16,color="burlywood",shape="triangle"];8443[label="vuz2850/Succ vuz28500",fontsize=10,color="white",style="solid",shape="box"];4682 -> 8443[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8443 -> 4705[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8444[label="vuz2850/Zero",fontsize=10,color="white",style="solid",shape="box"];4682 -> 8444[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8444 -> 4706[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5848 -> 4166[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5848[label="gcd0Gcd' (abs (Pos vuz325)) (abs vuz324)",fontsize=16,color="magenta"];5848 -> 5871[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5848 -> 5872[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5850 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5850[label="vuz324 == fromInt (Pos Zero)",fontsize=16,color="magenta"];5850 -> 5873[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5849[label="gcd1 vuz354 (Pos vuz325) vuz324",fontsize=16,color="burlywood",shape="triangle"];8445[label="vuz354/False",fontsize=10,color="white",style="solid",shape="box"];5849 -> 8445[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8445 -> 5874[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8446[label="vuz354/True",fontsize=10,color="white",style="solid",shape="box"];5849 -> 8446[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8446 -> 5875[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 6525 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6525[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6525 -> 6903[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6525 -> 6904[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6526 -> 6865[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6526[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero))",fontsize=16,color="magenta"];6526 -> 6876[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6526 -> 6877[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6899[label="Succ Zero",fontsize=16,color="green",shape="box"];6900[label="vuz80",fontsize=16,color="green",shape="box"];6872 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6872[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6872 -> 6905[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6872 -> 6906[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6873 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6873[label="abs (Neg (Succ vuz900))",fontsize=16,color="magenta"];6873 -> 6907[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6529 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6529[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6529 -> 6908[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6529 -> 6909[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6530 -> 6865[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6530[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero))",fontsize=16,color="magenta"];6530 -> 6878[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6530 -> 6879[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6901[label="Succ Zero",fontsize=16,color="green",shape="box"];6902[label="vuz80",fontsize=16,color="green",shape="box"];6874 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6874[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6874 -> 6910[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6874 -> 6911[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6875 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6875[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];6875 -> 6912[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7048 -> 4166[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7048[label="gcd0Gcd' (abs (Neg vuz412)) (abs vuz411)",fontsize=16,color="magenta"];7048 -> 7059[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7048 -> 7060[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7050 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7050[label="vuz411 == fromInt (Pos Zero)",fontsize=16,color="magenta"];7050 -> 7061[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7049[label="gcd1 vuz425 (Neg vuz412) vuz411",fontsize=16,color="burlywood",shape="triangle"];8447[label="vuz425/False",fontsize=10,color="white",style="solid",shape="box"];7049 -> 8447[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8447 -> 7062[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8448[label="vuz425/True",fontsize=10,color="white",style="solid",shape="box"];7049 -> 8448[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8448 -> 7063[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5481 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5481[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5481 -> 5673[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5481 -> 5674[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5482 -> 5621[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5482[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero))",fontsize=16,color="magenta"];5482 -> 5632[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5482 -> 5633[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5668[label="Succ Zero",fontsize=16,color="green",shape="box"];5669[label="vuz80",fontsize=16,color="green",shape="box"];5630 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5630[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5630 -> 5675[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5630 -> 5676[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5631 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5631[label="abs (Neg (Succ vuz900))",fontsize=16,color="magenta"];5631 -> 5677[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5485 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5485[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5485 -> 5678[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5485 -> 5679[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5486 -> 5621[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5486[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero))",fontsize=16,color="magenta"];5486 -> 5634[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5486 -> 5635[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 693[label="Integer (primMulInt (Pos vuz80) (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];693 -> 739[label="",style="solid", color="black", weight=3]; 101.93/62.91 694[label="Integer (primMulInt (Neg vuz80) (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];694 -> 740[label="",style="solid", color="black", weight=3]; 101.93/62.91 695[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];695 -> 741[label="",style="solid", color="black", weight=3]; 101.93/62.91 696[label="Integer (Pos Zero) `quot` gcd1 (absReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];696 -> 742[label="",style="solid", color="black", weight=3]; 101.93/62.91 697[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];697 -> 743[label="",style="solid", color="black", weight=3]; 101.93/62.91 698[label="Integer (Neg Zero) `quot` gcd1 (absReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];698 -> 744[label="",style="solid", color="black", weight=3]; 101.93/62.91 699[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt vuz8 (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8449[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];699 -> 8449[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8449 -> 745[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8450[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];699 -> 8450[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8450 -> 746[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 700[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];700 -> 747[label="",style="solid", color="black", weight=3]; 101.93/62.91 701[label="Integer (Pos Zero) `quot` gcd1 (absReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];701 -> 748[label="",style="solid", color="black", weight=3]; 101.93/62.91 702[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];702 -> 749[label="",style="solid", color="black", weight=3]; 101.93/62.91 703[label="Integer (Neg Zero) `quot` gcd1 (absReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];703 -> 750[label="",style="solid", color="black", weight=3]; 101.93/62.91 5851 -> 6106[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5851[label="primMulInt (Pos vuz3230) (signumReal (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5851 -> 6108[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5851 -> 6109[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5852 -> 6140[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5852[label="primMulInt (Neg vuz3230) (signumReal (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5852 -> 6142[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5852 -> 6143[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5853 -> 4166[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5853[label="gcd0Gcd' (abs vuz348) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5853 -> 5891[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5853 -> 5892[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5854[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5855[label="gcd1 False vuz349 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5855 -> 5893[label="",style="solid", color="black", weight=3]; 101.93/62.91 5856[label="gcd1 True vuz349 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5856 -> 5894[label="",style="solid", color="black", weight=3]; 101.93/62.91 6107[label="signumReal (Pos Zero)",fontsize=16,color="black",shape="triangle"];6107 -> 6130[label="",style="solid", color="black", weight=3]; 101.93/62.91 6106[label="primMulInt (Pos vuz3220) vuz374",fontsize=16,color="burlywood",shape="triangle"];8451[label="vuz374/Pos vuz3740",fontsize=10,color="white",style="solid",shape="box"];6106 -> 8451[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8451 -> 6131[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8452[label="vuz374/Neg vuz3740",fontsize=10,color="white",style="solid",shape="box"];6106 -> 8452[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8452 -> 6132[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 6141 -> 6107[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6141[label="signumReal (Pos Zero)",fontsize=16,color="magenta"];6140[label="primMulInt (Neg vuz3220) vuz376",fontsize=16,color="burlywood",shape="triangle"];8453[label="vuz376/Pos vuz3760",fontsize=10,color="white",style="solid",shape="box"];6140 -> 8453[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8453 -> 6164[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8454[label="vuz376/Neg vuz3760",fontsize=10,color="white",style="solid",shape="box"];6140 -> 8454[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8454 -> 6165[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5859 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5859[label="abs vuz344",fontsize=16,color="magenta"];5859 -> 5897[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5860 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5860[label="abs (Pos Zero)",fontsize=16,color="magenta"];5860 -> 5898[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 4166[label="gcd0Gcd' vuz259 vuz258",fontsize=16,color="black",shape="triangle"];4166 -> 4188[label="",style="solid", color="black", weight=3]; 101.93/62.91 5861 -> 5817[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5861[label="gcd0 vuz345 (Pos Zero)",fontsize=16,color="magenta"];5861 -> 5899[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5862 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5862[label="error []",fontsize=16,color="magenta"];7478[label="vuz30100",fontsize=16,color="green",shape="box"];7479[label="vuz319000",fontsize=16,color="green",shape="box"];7480[label="vuz319000",fontsize=16,color="green",shape="box"];7481[label="vuz30100",fontsize=16,color="green",shape="box"];7477[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS vuz454 vuz455)",fontsize=16,color="burlywood",shape="triangle"];8455[label="vuz454/Succ vuz4540",fontsize=10,color="white",style="solid",shape="box"];7477 -> 8455[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8455 -> 7514[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8456[label="vuz454/Zero",fontsize=10,color="white",style="solid",shape="box"];7477 -> 8456[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8456 -> 7515[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5865[label="Succ (primDivNatS (primMinusNatS (Succ vuz30100) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5865 -> 5904[label="",style="dashed", color="green", weight=3]; 101.93/62.91 5866[label="Zero",fontsize=16,color="green",shape="box"];5867[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5867 -> 5905[label="",style="dashed", color="green", weight=3]; 101.93/62.91 5868[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5868 -> 5906[label="",style="solid", color="black", weight=3]; 101.93/62.91 5869[label="gcd2 False (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5869 -> 5907[label="",style="solid", color="black", weight=3]; 101.93/62.91 5870[label="gcd2 True (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5870 -> 5908[label="",style="solid", color="black", weight=3]; 101.93/62.91 7051[label="vuz4100",fontsize=16,color="green",shape="box"];7052[label="signumReal (Neg Zero)",fontsize=16,color="black",shape="triangle"];7052 -> 7079[label="",style="solid", color="black", weight=3]; 101.93/62.91 7053 -> 7052[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7053[label="signumReal (Neg Zero)",fontsize=16,color="magenta"];7054[label="vuz4100",fontsize=16,color="green",shape="box"];7055 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7055[label="abs vuz421",fontsize=16,color="magenta"];7055 -> 7080[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7056 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7056[label="abs (Neg Zero)",fontsize=16,color="magenta"];7056 -> 7081[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7057 -> 7007[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7057[label="gcd0 vuz422 (Neg Zero)",fontsize=16,color="magenta"];7057 -> 7082[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7058 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7058[label="error []",fontsize=16,color="magenta"];712[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];712 -> 785[label="",style="solid", color="black", weight=3]; 101.93/62.91 713[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];713 -> 786[label="",style="solid", color="black", weight=3]; 101.93/62.91 714[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];714 -> 787[label="",style="solid", color="black", weight=3]; 101.93/62.91 715[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];715 -> 788[label="",style="solid", color="black", weight=3]; 101.93/62.91 716[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];716 -> 789[label="",style="solid", color="black", weight=3]; 101.93/62.91 717[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];717 -> 790[label="",style="solid", color="black", weight=3]; 101.93/62.91 718[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];718 -> 791[label="",style="solid", color="black", weight=3]; 101.93/62.91 5670[label="Succ Zero",fontsize=16,color="green",shape="box"];5671[label="vuz80",fontsize=16,color="green",shape="box"];5672[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];4705[label="primPlusNat (Succ vuz28500) vuz27500",fontsize=16,color="burlywood",shape="box"];8457[label="vuz27500/Succ vuz275000",fontsize=10,color="white",style="solid",shape="box"];4705 -> 8457[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8457 -> 4758[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8458[label="vuz27500/Zero",fontsize=10,color="white",style="solid",shape="box"];4705 -> 8458[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8458 -> 4759[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 4706[label="primPlusNat Zero vuz27500",fontsize=16,color="burlywood",shape="box"];8459[label="vuz27500/Succ vuz275000",fontsize=10,color="white",style="solid",shape="box"];4706 -> 8459[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8459 -> 4760[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8460[label="vuz27500/Zero",fontsize=10,color="white",style="solid",shape="box"];4706 -> 8460[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8460 -> 4761[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5871 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5871[label="abs (Pos vuz325)",fontsize=16,color="magenta"];5871 -> 5909[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5872 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5872[label="abs vuz324",fontsize=16,color="magenta"];5872 -> 5910[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5873[label="vuz324",fontsize=16,color="green",shape="box"];5874[label="gcd1 False (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5874 -> 5911[label="",style="solid", color="black", weight=3]; 101.93/62.91 5875[label="gcd1 True (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5875 -> 5912[label="",style="solid", color="black", weight=3]; 101.93/62.91 6903[label="Succ Zero",fontsize=16,color="green",shape="box"];6904[label="vuz80",fontsize=16,color="green",shape="box"];6876 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6876[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6876 -> 6913[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6876 -> 6914[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6877 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6877[label="abs (Pos Zero)",fontsize=16,color="magenta"];6877 -> 6915[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6905[label="Succ Zero",fontsize=16,color="green",shape="box"];6906[label="vuz80",fontsize=16,color="green",shape="box"];6907[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];6908[label="Succ Zero",fontsize=16,color="green",shape="box"];6909[label="vuz80",fontsize=16,color="green",shape="box"];6878 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6878[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6878 -> 6916[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6878 -> 6917[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6879 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6879[label="abs (Neg Zero)",fontsize=16,color="magenta"];6879 -> 6918[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 6910[label="Succ Zero",fontsize=16,color="green",shape="box"];6911[label="vuz80",fontsize=16,color="green",shape="box"];6912[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];7059 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7059[label="abs (Neg vuz412)",fontsize=16,color="magenta"];7059 -> 7083[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7060 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 7060[label="abs vuz411",fontsize=16,color="magenta"];7060 -> 7084[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7061[label="vuz411",fontsize=16,color="green",shape="box"];7062[label="gcd1 False (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];7062 -> 7085[label="",style="solid", color="black", weight=3]; 101.93/62.91 7063[label="gcd1 True (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];7063 -> 7086[label="",style="solid", color="black", weight=3]; 101.93/62.91 5673[label="Succ Zero",fontsize=16,color="green",shape="box"];5674[label="vuz80",fontsize=16,color="green",shape="box"];5632 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5632[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5632 -> 5680[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5632 -> 5681[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5633 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5633[label="abs (Pos Zero)",fontsize=16,color="magenta"];5633 -> 5682[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5675[label="Succ Zero",fontsize=16,color="green",shape="box"];5676[label="vuz80",fontsize=16,color="green",shape="box"];5677[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];5678[label="Succ Zero",fontsize=16,color="green",shape="box"];5679[label="vuz80",fontsize=16,color="green",shape="box"];5634 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5634[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5634 -> 5683[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5634 -> 5684[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5635 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5635[label="abs (Neg Zero)",fontsize=16,color="magenta"];5635 -> 5685[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 739[label="Integer (Pos (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8461[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];739 -> 8461[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8461 -> 812[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8462[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];739 -> 8462[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8462 -> 813[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 740[label="Integer (Neg (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8463[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];740 -> 8463[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8463 -> 814[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8464[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];740 -> 8464[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8464 -> 815[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 741[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];741 -> 816[label="",style="solid", color="black", weight=3]; 101.93/62.91 742[label="Integer (Pos Zero) `quot` gcd1 (absReal2 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal2 (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];742 -> 817[label="",style="solid", color="black", weight=3]; 101.93/62.91 743[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];743 -> 818[label="",style="solid", color="black", weight=3]; 101.93/62.91 744[label="Integer (Neg Zero) `quot` gcd1 (absReal2 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal2 (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];744 -> 819[label="",style="solid", color="black", weight=3]; 101.93/62.91 745[label="Integer (primMulInt (Pos vuz80) (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];745 -> 820[label="",style="solid", color="black", weight=3]; 101.93/62.91 746[label="Integer (primMulInt (Neg vuz80) (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];746 -> 821[label="",style="solid", color="black", weight=3]; 101.93/62.91 747[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];747 -> 822[label="",style="solid", color="black", weight=3]; 101.93/62.91 748[label="Integer (Pos Zero) `quot` gcd1 (absReal2 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal2 (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];748 -> 823[label="",style="solid", color="black", weight=3]; 101.93/62.91 749[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];749 -> 824[label="",style="solid", color="black", weight=3]; 101.93/62.91 750[label="Integer (Neg Zero) `quot` gcd1 (absReal2 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal2 (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];750 -> 825[label="",style="solid", color="black", weight=3]; 101.93/62.91 6108[label="vuz3230",fontsize=16,color="green",shape="box"];6109[label="signumReal (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];6109 -> 6133[label="",style="solid", color="black", weight=3]; 101.93/62.91 6142 -> 6109[label="",style="dashed", color="red", weight=0]; 101.93/62.91 6142[label="signumReal (Pos (Succ vuz900))",fontsize=16,color="magenta"];6143[label="vuz3230",fontsize=16,color="green",shape="box"];5891 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5891[label="abs vuz348",fontsize=16,color="magenta"];5891 -> 5948[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5892 -> 2348[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5892[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5892 -> 5949[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5893 -> 5831[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5893[label="gcd0 vuz349 (Pos (Succ vuz900))",fontsize=16,color="magenta"];5893 -> 5950[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5894 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5894[label="error []",fontsize=16,color="magenta"];6130[label="signumReal3 (Pos Zero)",fontsize=16,color="black",shape="box"];6130 -> 6136[label="",style="solid", color="black", weight=3]; 101.93/62.91 6131[label="primMulInt (Pos vuz3220) (Pos vuz3740)",fontsize=16,color="black",shape="box"];6131 -> 6137[label="",style="solid", color="black", weight=3]; 101.93/62.91 6132[label="primMulInt (Pos vuz3220) (Neg vuz3740)",fontsize=16,color="black",shape="box"];6132 -> 6138[label="",style="solid", color="black", weight=3]; 101.93/62.91 6164[label="primMulInt (Neg vuz3220) (Pos vuz3760)",fontsize=16,color="black",shape="box"];6164 -> 6168[label="",style="solid", color="black", weight=3]; 101.93/62.91 6165[label="primMulInt (Neg vuz3220) (Neg vuz3760)",fontsize=16,color="black",shape="box"];6165 -> 6169[label="",style="solid", color="black", weight=3]; 101.93/62.91 5897[label="vuz344",fontsize=16,color="green",shape="box"];5898[label="Pos Zero",fontsize=16,color="green",shape="box"];4188[label="gcd0Gcd'2 vuz259 vuz258",fontsize=16,color="black",shape="triangle"];4188 -> 4233[label="",style="solid", color="black", weight=3]; 101.93/62.91 5899[label="vuz345",fontsize=16,color="green",shape="box"];7514[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) vuz455)",fontsize=16,color="burlywood",shape="box"];8465[label="vuz455/Succ vuz4550",fontsize=10,color="white",style="solid",shape="box"];7514 -> 8465[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8465 -> 7539[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8466[label="vuz455/Zero",fontsize=10,color="white",style="solid",shape="box"];7514 -> 8466[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8466 -> 7540[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 7515[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero vuz455)",fontsize=16,color="burlywood",shape="box"];8467[label="vuz455/Succ vuz4550",fontsize=10,color="white",style="solid",shape="box"];7515 -> 8467[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8467 -> 7541[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8468[label="vuz455/Zero",fontsize=10,color="white",style="solid",shape="box"];7515 -> 8468[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8468 -> 7542[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5904 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5904[label="primDivNatS (primMinusNatS (Succ vuz30100) Zero) (Succ Zero)",fontsize=16,color="magenta"];5904 -> 5959[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5904 -> 5960[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5905 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5905[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];5905 -> 5961[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5905 -> 5962[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5906[label="primMulInt vuz326 (signum (Neg (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8469[label="vuz326/Pos vuz3260",fontsize=10,color="white",style="solid",shape="box"];5906 -> 8469[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8469 -> 5963[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 8470[label="vuz326/Neg vuz3260",fontsize=10,color="white",style="solid",shape="box"];5906 -> 8470[label="",style="solid", color="burlywood", weight=9]; 101.93/62.91 8470 -> 5964[label="",style="solid", color="burlywood", weight=3]; 101.93/62.91 5907 -> 5831[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5907[label="gcd0 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5907 -> 5965[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5907 -> 5966[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5908 -> 5833[label="",style="dashed", color="red", weight=0]; 101.93/62.91 5908[label="gcd1 (Pos (Succ vuz900) == fromInt (Pos Zero)) (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5908 -> 5967[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5908 -> 5968[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 5908 -> 5969[label="",style="dashed", color="magenta", weight=3]; 101.93/62.91 7079[label="signumReal3 (Neg Zero)",fontsize=16,color="black",shape="box"];7079 -> 7138[label="",style="solid", color="black", weight=3]; 101.93/62.91 7080[label="vuz421",fontsize=16,color="green",shape="box"];7081[label="Neg Zero",fontsize=16,color="green",shape="box"];7082[label="vuz422",fontsize=16,color="green",shape="box"];785[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];785 -> 851[label="",style="solid", color="black", weight=3]; 101.93/62.92 786[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];786 -> 852[label="",style="solid", color="black", weight=3]; 101.93/62.92 787[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (primCmpInt (Pos Zero) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (primCmpInt (Pos Zero) (Pos Zero) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];787 -> 853[label="",style="solid", color="black", weight=3]; 101.93/62.92 788[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];788 -> 854[label="",style="solid", color="black", weight=3]; 101.93/62.92 789[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];789 -> 855[label="",style="solid", color="black", weight=3]; 101.93/62.92 790[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (primCmpInt (Neg Zero) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (primCmpInt (Neg Zero) (Pos Zero) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];790 -> 856[label="",style="solid", color="black", weight=3]; 101.93/62.92 791[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];791 -> 857[label="",style="solid", color="black", weight=3]; 101.93/62.92 4758[label="primPlusNat (Succ vuz28500) (Succ vuz275000)",fontsize=16,color="black",shape="box"];4758 -> 4782[label="",style="solid", color="black", weight=3]; 101.93/62.92 4759[label="primPlusNat (Succ vuz28500) Zero",fontsize=16,color="black",shape="box"];4759 -> 4783[label="",style="solid", color="black", weight=3]; 101.93/62.92 4760[label="primPlusNat Zero (Succ vuz275000)",fontsize=16,color="black",shape="box"];4760 -> 4784[label="",style="solid", color="black", weight=3]; 101.93/62.92 4761[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];4761 -> 4785[label="",style="solid", color="black", weight=3]; 101.93/62.92 5909[label="Pos vuz325",fontsize=16,color="green",shape="box"];5910[label="vuz324",fontsize=16,color="green",shape="box"];5911 -> 5827[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5911[label="gcd0 (Pos vuz325) vuz324",fontsize=16,color="magenta"];5912 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5912[label="error []",fontsize=16,color="magenta"];6913[label="Succ Zero",fontsize=16,color="green",shape="box"];6914[label="vuz80",fontsize=16,color="green",shape="box"];6915[label="Pos Zero",fontsize=16,color="green",shape="box"];6916[label="Succ Zero",fontsize=16,color="green",shape="box"];6917[label="vuz80",fontsize=16,color="green",shape="box"];6918[label="Neg Zero",fontsize=16,color="green",shape="box"];7083[label="Neg vuz412",fontsize=16,color="green",shape="box"];7084[label="vuz411",fontsize=16,color="green",shape="box"];7085 -> 7012[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7085[label="gcd0 (Neg vuz412) vuz411",fontsize=16,color="magenta"];7086 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7086[label="error []",fontsize=16,color="magenta"];5680[label="Succ Zero",fontsize=16,color="green",shape="box"];5681[label="vuz80",fontsize=16,color="green",shape="box"];5682[label="Pos Zero",fontsize=16,color="green",shape="box"];5683[label="Succ Zero",fontsize=16,color="green",shape="box"];5684[label="vuz80",fontsize=16,color="green",shape="box"];5685[label="Neg Zero",fontsize=16,color="green",shape="box"];812[label="Integer (Pos (primMulNat (Succ vuz800) (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];812 -> 882[label="",style="solid", color="black", weight=3]; 101.93/62.92 813[label="Integer (Pos (primMulNat Zero (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat Zero (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat Zero (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];813 -> 883[label="",style="solid", color="black", weight=3]; 101.93/62.92 814[label="Integer (Neg (primMulNat (Succ vuz800) (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];814 -> 884[label="",style="solid", color="black", weight=3]; 101.93/62.92 815[label="Integer (Neg (primMulNat Zero (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat Zero (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat Zero (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];815 -> 885[label="",style="solid", color="black", weight=3]; 101.93/62.92 816[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];816 -> 886[label="",style="solid", color="black", weight=3]; 101.93/62.92 817[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];817 -> 887[label="",style="solid", color="black", weight=3]; 101.93/62.92 818[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];818 -> 888[label="",style="solid", color="black", weight=3]; 101.93/62.92 819[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];819 -> 889[label="",style="solid", color="black", weight=3]; 101.93/62.92 820 -> 3594[label="",style="dashed", color="red", weight=0]; 101.93/62.92 820[label="Integer (Neg (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="magenta"];820 -> 3595[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 820 -> 3596[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 820 -> 3597[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 821 -> 3690[label="",style="dashed", color="red", weight=0]; 101.93/62.92 821[label="Integer (Pos (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="magenta"];821 -> 3691[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 821 -> 3692[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 821 -> 3693[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 822[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];822 -> 894[label="",style="solid", color="black", weight=3]; 101.93/62.92 823[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];823 -> 895[label="",style="solid", color="black", weight=3]; 101.93/62.92 824[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];824 -> 896[label="",style="solid", color="black", weight=3]; 101.93/62.92 825[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];825 -> 897[label="",style="solid", color="black", weight=3]; 101.93/62.92 6133[label="signumReal3 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];6133 -> 6139[label="",style="solid", color="black", weight=3]; 101.93/62.92 5948[label="vuz348",fontsize=16,color="green",shape="box"];5949[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5950[label="vuz349",fontsize=16,color="green",shape="box"];6136 -> 6166[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6136[label="signumReal2 (Pos Zero) (Pos Zero == fromInt (Pos Zero))",fontsize=16,color="magenta"];6136 -> 6167[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6137[label="Pos (primMulNat vuz3220 vuz3740)",fontsize=16,color="green",shape="box"];6137 -> 6170[label="",style="dashed", color="green", weight=3]; 101.93/62.92 6138[label="Neg (primMulNat vuz3220 vuz3740)",fontsize=16,color="green",shape="box"];6138 -> 6171[label="",style="dashed", color="green", weight=3]; 101.93/62.92 6168[label="Neg (primMulNat vuz3220 vuz3760)",fontsize=16,color="green",shape="box"];6168 -> 6174[label="",style="dashed", color="green", weight=3]; 101.93/62.92 6169[label="Pos (primMulNat vuz3220 vuz3760)",fontsize=16,color="green",shape="box"];6169 -> 6175[label="",style="dashed", color="green", weight=3]; 101.93/62.92 4233 -> 4338[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4233[label="gcd0Gcd'1 (vuz258 == fromInt (Pos Zero)) vuz259 vuz258",fontsize=16,color="magenta"];4233 -> 4339[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7539[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) (Succ vuz4550))",fontsize=16,color="black",shape="box"];7539 -> 7568[label="",style="solid", color="black", weight=3]; 101.93/62.92 7540[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) Zero)",fontsize=16,color="black",shape="box"];7540 -> 7569[label="",style="solid", color="black", weight=3]; 101.93/62.92 7541[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero (Succ vuz4550))",fontsize=16,color="black",shape="box"];7541 -> 7570[label="",style="solid", color="black", weight=3]; 101.93/62.92 7542[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7542 -> 7571[label="",style="solid", color="black", weight=3]; 101.93/62.92 5959[label="Zero",fontsize=16,color="green",shape="box"];5960[label="primMinusNatS (Succ vuz30100) Zero",fontsize=16,color="black",shape="triangle"];5960 -> 5985[label="",style="solid", color="black", weight=3]; 101.93/62.92 5961[label="Zero",fontsize=16,color="green",shape="box"];5962[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];5962 -> 5986[label="",style="solid", color="black", weight=3]; 101.93/62.92 5963[label="primMulInt (Pos vuz3260) (signum (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];5963 -> 5987[label="",style="solid", color="black", weight=3]; 101.93/62.92 5964[label="primMulInt (Neg vuz3260) (signum (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];5964 -> 5988[label="",style="solid", color="black", weight=3]; 101.93/62.92 5965[label="vuz900",fontsize=16,color="green",shape="box"];5966 -> 5868[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5966[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="magenta"];5967 -> 5868[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5967[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="magenta"];5968[label="vuz900",fontsize=16,color="green",shape="box"];5969 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5969[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5969 -> 5989[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7138 -> 7172[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7138[label="signumReal2 (Neg Zero) (Neg Zero == fromInt (Pos Zero))",fontsize=16,color="magenta"];7138 -> 7173[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 851[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];851 -> 913[label="",style="solid", color="black", weight=3]; 101.93/62.92 852[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];852 -> 914[label="",style="solid", color="black", weight=3]; 101.93/62.92 853[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (EQ == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (EQ == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];853 -> 915[label="",style="solid", color="black", weight=3]; 101.93/62.92 854[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8471[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];854 -> 8471[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8471 -> 916[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8472[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];854 -> 8472[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8472 -> 917[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 855[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];855 -> 918[label="",style="solid", color="black", weight=3]; 101.93/62.92 856[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (EQ == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (EQ == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];856 -> 919[label="",style="solid", color="black", weight=3]; 101.93/62.92 857[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8473[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];857 -> 8473[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8473 -> 920[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8474[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];857 -> 8474[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8474 -> 921[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4782[label="Succ (Succ (primPlusNat vuz28500 vuz275000))",fontsize=16,color="green",shape="box"];4782 -> 4856[label="",style="dashed", color="green", weight=3]; 101.93/62.92 4783[label="Succ vuz28500",fontsize=16,color="green",shape="box"];4784[label="Succ vuz275000",fontsize=16,color="green",shape="box"];4785[label="Zero",fontsize=16,color="green",shape="box"];882 -> 3366[label="",style="dashed", color="red", weight=0]; 101.93/62.92 882[label="Integer (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)) (Integer (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];882 -> 3367[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 882 -> 3368[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 882 -> 3369[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 883 -> 952[label="",style="dashed", color="red", weight=0]; 101.93/62.92 883[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];883 -> 953[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 884 -> 3461[label="",style="dashed", color="red", weight=0]; 101.93/62.92 884[label="Integer (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)) (Integer (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];884 -> 3462[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 884 -> 3463[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 884 -> 3464[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 885 -> 956[label="",style="dashed", color="red", weight=0]; 101.93/62.92 885[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];885 -> 957[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 886[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];886 -> 958[label="",style="solid", color="black", weight=3]; 101.93/62.92 887[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];887 -> 959[label="",style="solid", color="black", weight=3]; 101.93/62.92 888[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];888 -> 960[label="",style="solid", color="black", weight=3]; 101.93/62.92 889[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];889 -> 961[label="",style="solid", color="black", weight=3]; 101.93/62.92 3595 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3595[label="primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3595 -> 3676[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3595 -> 3677[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3596 -> 3367[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3596[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3596 -> 3678[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3597 -> 3367[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3597[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3597 -> 3679[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3594[label="Integer (Neg vuz216) `quot` gcd2 vuz215 (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8475[label="vuz215/False",fontsize=10,color="white",style="solid",shape="box"];3594 -> 8475[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8475 -> 3680[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8476[label="vuz215/True",fontsize=10,color="white",style="solid",shape="box"];3594 -> 8476[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8476 -> 3681[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 3691 -> 3367[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3691[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3691 -> 3771[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3692 -> 3367[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3692[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3692 -> 3772[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3693 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3693[label="primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3693 -> 3773[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3693 -> 3774[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3690[label="Integer (Pos vuz226) `quot` gcd2 vuz225 (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8477[label="vuz225/False",fontsize=10,color="white",style="solid",shape="box"];3690 -> 8477[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8477 -> 3775[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8478[label="vuz225/True",fontsize=10,color="white",style="solid",shape="box"];3690 -> 8478[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8478 -> 3776[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 894[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];894 -> 966[label="",style="solid", color="black", weight=3]; 101.93/62.92 895[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];895 -> 967[label="",style="solid", color="black", weight=3]; 101.93/62.92 896[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];896 -> 968[label="",style="solid", color="black", weight=3]; 101.93/62.92 897[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];897 -> 969[label="",style="solid", color="black", weight=3]; 101.93/62.92 6139 -> 6172[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6139[label="signumReal2 (Pos (Succ vuz900)) (Pos (Succ vuz900) == fromInt (Pos Zero))",fontsize=16,color="magenta"];6139 -> 6173[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6167 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6167[label="Pos Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];6167 -> 6176[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6166[label="signumReal2 (Pos Zero) vuz377",fontsize=16,color="burlywood",shape="triangle"];8479[label="vuz377/False",fontsize=10,color="white",style="solid",shape="box"];6166 -> 8479[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8479 -> 6177[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8480[label="vuz377/True",fontsize=10,color="white",style="solid",shape="box"];6166 -> 8480[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8480 -> 6178[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 6170 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6170[label="primMulNat vuz3220 vuz3740",fontsize=16,color="magenta"];6170 -> 6179[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6170 -> 6180[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6171 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6171[label="primMulNat vuz3220 vuz3740",fontsize=16,color="magenta"];6171 -> 6181[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6171 -> 6182[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6174 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6174[label="primMulNat vuz3220 vuz3760",fontsize=16,color="magenta"];6174 -> 6256[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6174 -> 6257[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6175 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6175[label="primMulNat vuz3220 vuz3760",fontsize=16,color="magenta"];6175 -> 6258[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6175 -> 6259[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4339 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4339[label="vuz258 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4339 -> 4360[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4338[label="gcd0Gcd'1 vuz270 vuz259 vuz258",fontsize=16,color="burlywood",shape="triangle"];8481[label="vuz270/False",fontsize=10,color="white",style="solid",shape="box"];4338 -> 8481[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8481 -> 4361[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8482[label="vuz270/True",fontsize=10,color="white",style="solid",shape="box"];4338 -> 8482[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8482 -> 4362[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7568 -> 7477[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7568[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS vuz4540 vuz4550)",fontsize=16,color="magenta"];7568 -> 7608[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7568 -> 7609[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7569[label="primDivNatS0 (Succ vuz452) (Succ vuz453) True",fontsize=16,color="black",shape="triangle"];7569 -> 7610[label="",style="solid", color="black", weight=3]; 101.93/62.92 7570[label="primDivNatS0 (Succ vuz452) (Succ vuz453) False",fontsize=16,color="black",shape="box"];7570 -> 7611[label="",style="solid", color="black", weight=3]; 101.93/62.92 7571 -> 7569[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7571[label="primDivNatS0 (Succ vuz452) (Succ vuz453) True",fontsize=16,color="magenta"];5985[label="Succ vuz30100",fontsize=16,color="green",shape="box"];5986[label="Zero",fontsize=16,color="green",shape="box"];5987 -> 6106[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5987[label="primMulInt (Pos vuz3260) (signumReal (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5987 -> 6119[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5987 -> 6120[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5988 -> 6140[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5988[label="primMulInt (Neg vuz3260) (signumReal (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5988 -> 6153[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5988 -> 6154[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5989[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];7173 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7173[label="Neg Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];7173 -> 7174[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7172[label="signumReal2 (Neg Zero) vuz429",fontsize=16,color="burlywood",shape="triangle"];8483[label="vuz429/False",fontsize=10,color="white",style="solid",shape="box"];7172 -> 8483[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8483 -> 7175[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8484[label="vuz429/True",fontsize=10,color="white",style="solid",shape="box"];7172 -> 8484[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8484 -> 7176[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 913[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];913 -> 984[label="",style="solid", color="black", weight=3]; 101.93/62.92 914[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8485[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];914 -> 8485[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8485 -> 985[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8486[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];914 -> 8486[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8486 -> 986[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 915[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) False) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];915 -> 987[label="",style="solid", color="black", weight=3]; 101.93/62.92 916[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];916 -> 988[label="",style="solid", color="black", weight=3]; 101.93/62.92 917[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];917 -> 989[label="",style="solid", color="black", weight=3]; 101.93/62.92 918[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];918 -> 990[label="",style="solid", color="black", weight=3]; 101.93/62.92 919[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) False) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];919 -> 991[label="",style="solid", color="black", weight=3]; 101.93/62.92 920[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];920 -> 992[label="",style="solid", color="black", weight=3]; 101.93/62.92 921[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];921 -> 993[label="",style="solid", color="black", weight=3]; 101.93/62.92 4856 -> 4682[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4856[label="primPlusNat vuz28500 vuz275000",fontsize=16,color="magenta"];4856 -> 5397[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4856 -> 5398[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3367[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];8487[label="vuz800/Succ vuz8000",fontsize=10,color="white",style="solid",shape="box"];3367 -> 8487[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8487 -> 3385[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8488[label="vuz800/Zero",fontsize=10,color="white",style="solid",shape="box"];3367 -> 8488[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8488 -> 3386[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 3368 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3368[label="primEqInt (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3368 -> 3387[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3368 -> 3388[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3369[label="vuz900",fontsize=16,color="green",shape="box"];3366[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 vuz197 (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="burlywood",shape="triangle"];8489[label="vuz197/False",fontsize=10,color="white",style="solid",shape="box"];3366 -> 8489[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8489 -> 3389[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8490[label="vuz197/True",fontsize=10,color="white",style="solid",shape="box"];3366 -> 8490[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8490 -> 3390[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 953 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 953[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];953 -> 2733[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 953 -> 2734[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 952[label="Integer (Pos Zero) `quot` gcd2 vuz51 (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8491[label="vuz51/False",fontsize=10,color="white",style="solid",shape="box"];952 -> 8491[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8491 -> 1030[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8492[label="vuz51/True",fontsize=10,color="white",style="solid",shape="box"];952 -> 8492[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8492 -> 1031[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 3462 -> 3367[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3462[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];3462 -> 3478[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3463 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3463[label="primEqInt (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3463 -> 3479[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3463 -> 3480[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3464[label="vuz900",fontsize=16,color="green",shape="box"];3461[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 vuz205 (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="burlywood",shape="triangle"];8493[label="vuz205/False",fontsize=10,color="white",style="solid",shape="box"];3461 -> 8493[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8493 -> 3481[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8494[label="vuz205/True",fontsize=10,color="white",style="solid",shape="box"];3461 -> 8494[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8494 -> 3482[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 957 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 957[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];957 -> 2735[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 957 -> 2736[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 956[label="Integer (Neg Zero) `quot` gcd2 vuz52 (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8495[label="vuz52/False",fontsize=10,color="white",style="solid",shape="box"];956 -> 8495[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8495 -> 1034[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8496[label="vuz52/True",fontsize=10,color="white",style="solid",shape="box"];956 -> 8496[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8496 -> 1035[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 958[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];958 -> 1036[label="",style="solid", color="black", weight=3]; 101.93/62.92 959 -> 1037[label="",style="dashed", color="red", weight=0]; 101.93/62.92 959[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];959 -> 1038[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 960[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];960 -> 1039[label="",style="solid", color="black", weight=3]; 101.93/62.92 961 -> 1040[label="",style="dashed", color="red", weight=0]; 101.93/62.92 961[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];961 -> 1041[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3676[label="Pos Zero",fontsize=16,color="green",shape="box"];3677[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];3677 -> 3777[label="",style="dashed", color="green", weight=3]; 101.93/62.92 3678[label="vuz80",fontsize=16,color="green",shape="box"];3679[label="vuz80",fontsize=16,color="green",shape="box"];3680[label="Integer (Neg vuz216) `quot` gcd2 False (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3680 -> 3778[label="",style="solid", color="black", weight=3]; 101.93/62.92 3681[label="Integer (Neg vuz216) `quot` gcd2 True (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3681 -> 3779[label="",style="solid", color="black", weight=3]; 101.93/62.92 3771[label="vuz80",fontsize=16,color="green",shape="box"];3772[label="vuz80",fontsize=16,color="green",shape="box"];3773[label="Pos Zero",fontsize=16,color="green",shape="box"];3774[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];3774 -> 4061[label="",style="dashed", color="green", weight=3]; 101.93/62.92 3775[label="Integer (Pos vuz226) `quot` gcd2 False (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3775 -> 4062[label="",style="solid", color="black", weight=3]; 101.93/62.92 3776[label="Integer (Pos vuz226) `quot` gcd2 True (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3776 -> 4063[label="",style="solid", color="black", weight=3]; 101.93/62.92 966[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];966 -> 1050[label="",style="solid", color="black", weight=3]; 101.93/62.92 967 -> 1051[label="",style="dashed", color="red", weight=0]; 101.93/62.92 967[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];967 -> 1052[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 968[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];968 -> 1053[label="",style="solid", color="black", weight=3]; 101.93/62.92 969 -> 1054[label="",style="dashed", color="red", weight=0]; 101.93/62.92 969[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];969 -> 1055[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6173 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6173[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6173 -> 6183[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6172[label="signumReal2 (Pos (Succ vuz900)) vuz379",fontsize=16,color="burlywood",shape="triangle"];8497[label="vuz379/False",fontsize=10,color="white",style="solid",shape="box"];6172 -> 8497[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8497 -> 6184[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8498[label="vuz379/True",fontsize=10,color="white",style="solid",shape="box"];6172 -> 8498[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8498 -> 6185[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 6176[label="Pos Zero",fontsize=16,color="green",shape="box"];6177[label="signumReal2 (Pos Zero) False",fontsize=16,color="black",shape="box"];6177 -> 6260[label="",style="solid", color="black", weight=3]; 101.93/62.92 6178[label="signumReal2 (Pos Zero) True",fontsize=16,color="black",shape="box"];6178 -> 6261[label="",style="solid", color="black", weight=3]; 101.93/62.92 6179[label="vuz3740",fontsize=16,color="green",shape="box"];6180[label="vuz3220",fontsize=16,color="green",shape="box"];6181[label="vuz3740",fontsize=16,color="green",shape="box"];6182[label="vuz3220",fontsize=16,color="green",shape="box"];6256[label="vuz3760",fontsize=16,color="green",shape="box"];6257[label="vuz3220",fontsize=16,color="green",shape="box"];6258[label="vuz3760",fontsize=16,color="green",shape="box"];6259[label="vuz3220",fontsize=16,color="green",shape="box"];4360[label="vuz258",fontsize=16,color="green",shape="box"];4361[label="gcd0Gcd'1 False vuz259 vuz258",fontsize=16,color="black",shape="box"];4361 -> 4441[label="",style="solid", color="black", weight=3]; 101.93/62.92 4362[label="gcd0Gcd'1 True vuz259 vuz258",fontsize=16,color="black",shape="box"];4362 -> 4442[label="",style="solid", color="black", weight=3]; 101.93/62.92 7608[label="vuz4550",fontsize=16,color="green",shape="box"];7609[label="vuz4540",fontsize=16,color="green",shape="box"];7610[label="Succ (primDivNatS (primMinusNatS (Succ vuz452) (Succ vuz453)) (Succ (Succ vuz453)))",fontsize=16,color="green",shape="box"];7610 -> 7640[label="",style="dashed", color="green", weight=3]; 101.93/62.92 7611[label="Zero",fontsize=16,color="green",shape="box"];6119[label="vuz3260",fontsize=16,color="green",shape="box"];6120[label="signumReal (Neg (Succ vuz900))",fontsize=16,color="black",shape="triangle"];6120 -> 6194[label="",style="solid", color="black", weight=3]; 101.93/62.92 6153 -> 6120[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6153[label="signumReal (Neg (Succ vuz900))",fontsize=16,color="magenta"];6154[label="vuz3260",fontsize=16,color="green",shape="box"];7174[label="Neg Zero",fontsize=16,color="green",shape="box"];7175[label="signumReal2 (Neg Zero) False",fontsize=16,color="black",shape="box"];7175 -> 7207[label="",style="solid", color="black", weight=3]; 101.93/62.92 7176[label="signumReal2 (Neg Zero) True",fontsize=16,color="black",shape="box"];7176 -> 7208[label="",style="solid", color="black", weight=3]; 101.93/62.92 984[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];984 -> 1074[label="",style="solid", color="black", weight=3]; 101.93/62.92 985[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];985 -> 1075[label="",style="solid", color="black", weight=3]; 101.93/62.92 986[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];986 -> 1076[label="",style="solid", color="black", weight=3]; 101.93/62.92 987[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Pos Zero)) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Pos Zero)) otherwise) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];987 -> 1077[label="",style="solid", color="black", weight=3]; 101.93/62.92 988[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8499[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];988 -> 8499[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8499 -> 1078[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8500[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];988 -> 8500[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8500 -> 1079[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 989[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8501[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];989 -> 8501[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8501 -> 1080[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8502[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];989 -> 8502[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8502 -> 1081[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 990[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];990 -> 1082[label="",style="solid", color="black", weight=3]; 101.93/62.92 991[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg Zero)) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg Zero)) otherwise) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];991 -> 1083[label="",style="solid", color="black", weight=3]; 101.93/62.92 992[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8503[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];992 -> 8503[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8503 -> 1084[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8504[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];992 -> 8504[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8504 -> 1085[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 993[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8505[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];993 -> 8505[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8505 -> 1086[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8506[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];993 -> 8506[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8506 -> 1087[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 5397[label="vuz28500",fontsize=16,color="green",shape="box"];5398[label="vuz275000",fontsize=16,color="green",shape="box"];3385[label="primMulNat (Succ vuz8000) (Succ Zero)",fontsize=16,color="black",shape="box"];3385 -> 3410[label="",style="solid", color="black", weight=3]; 101.93/62.92 3386[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3386 -> 3411[label="",style="solid", color="black", weight=3]; 101.93/62.92 3387[label="Pos Zero",fontsize=16,color="green",shape="box"];3388[label="Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))",fontsize=16,color="green",shape="box"];3388 -> 3412[label="",style="dashed", color="green", weight=3]; 101.93/62.92 3389[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 False (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3389 -> 3413[label="",style="solid", color="black", weight=3]; 101.93/62.92 3390[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 True (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3390 -> 3414[label="",style="solid", color="black", weight=3]; 101.93/62.92 2733[label="Pos Zero",fontsize=16,color="green",shape="box"];2734[label="Pos Zero",fontsize=16,color="green",shape="box"];1030[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1030 -> 1127[label="",style="solid", color="black", weight=3]; 101.93/62.92 1031[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1031 -> 1128[label="",style="solid", color="black", weight=3]; 101.93/62.92 3478[label="vuz800",fontsize=16,color="green",shape="box"];3479[label="Pos Zero",fontsize=16,color="green",shape="box"];3480[label="Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))",fontsize=16,color="green",shape="box"];3480 -> 3497[label="",style="dashed", color="green", weight=3]; 101.93/62.92 3481[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 False (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3481 -> 3498[label="",style="solid", color="black", weight=3]; 101.93/62.92 3482[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 True (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3482 -> 3499[label="",style="solid", color="black", weight=3]; 101.93/62.92 2735[label="Pos Zero",fontsize=16,color="green",shape="box"];2736[label="Neg Zero",fontsize=16,color="green",shape="box"];1034[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1034 -> 1132[label="",style="solid", color="black", weight=3]; 101.93/62.92 1035[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1035 -> 1133[label="",style="solid", color="black", weight=3]; 101.93/62.92 1036[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1036 -> 1134[label="",style="solid", color="black", weight=3]; 101.93/62.92 1038 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1038[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1038 -> 1135[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1037[label="Integer (Pos Zero) `quot` gcd1 vuz55 (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8507[label="vuz55/False",fontsize=10,color="white",style="solid",shape="box"];1037 -> 8507[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8507 -> 1136[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8508[label="vuz55/True",fontsize=10,color="white",style="solid",shape="box"];1037 -> 8508[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8508 -> 1137[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1039[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1039 -> 1138[label="",style="solid", color="black", weight=3]; 101.93/62.92 1041 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1041[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1041 -> 1139[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1040[label="Integer (Neg Zero) `quot` gcd1 vuz56 (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8509[label="vuz56/False",fontsize=10,color="white",style="solid",shape="box"];1040 -> 8509[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8509 -> 1140[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8510[label="vuz56/True",fontsize=10,color="white",style="solid",shape="box"];1040 -> 8510[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8510 -> 1141[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 3777 -> 3367[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3777[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3777 -> 4064[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3778[label="Integer (Neg vuz216) `quot` gcd0 (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3778 -> 4065[label="",style="solid", color="black", weight=3]; 101.93/62.92 3779[label="Integer (Neg vuz216) `quot` gcd1 (abs (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3779 -> 4066[label="",style="solid", color="black", weight=3]; 101.93/62.92 4061 -> 3367[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4061[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];4061 -> 4121[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4062[label="Integer (Pos vuz226) `quot` gcd0 (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4062 -> 4122[label="",style="solid", color="black", weight=3]; 101.93/62.92 4063[label="Integer (Pos vuz226) `quot` gcd1 (abs (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4063 -> 4123[label="",style="solid", color="black", weight=3]; 101.93/62.92 1050[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1050 -> 1150[label="",style="solid", color="black", weight=3]; 101.93/62.92 1052 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1052[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1052 -> 1151[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1051[label="Integer (Pos Zero) `quot` gcd1 vuz59 (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8511[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];1051 -> 8511[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8511 -> 1152[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8512[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];1051 -> 8512[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8512 -> 1153[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1053[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1053 -> 1154[label="",style="solid", color="black", weight=3]; 101.93/62.92 1055 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1055[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1055 -> 1155[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1054[label="Integer (Neg Zero) `quot` gcd1 vuz60 (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8513[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];1054 -> 8513[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8513 -> 1156[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8514[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];1054 -> 8514[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8514 -> 1157[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 6183[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6184[label="signumReal2 (Pos (Succ vuz900)) False",fontsize=16,color="black",shape="box"];6184 -> 6262[label="",style="solid", color="black", weight=3]; 101.93/62.92 6185[label="signumReal2 (Pos (Succ vuz900)) True",fontsize=16,color="black",shape="box"];6185 -> 6263[label="",style="solid", color="black", weight=3]; 101.93/62.92 6260 -> 6919[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6260[label="signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero))",fontsize=16,color="magenta"];6260 -> 6920[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6261 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6261[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6261 -> 6927[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4441[label="gcd0Gcd'0 vuz259 vuz258",fontsize=16,color="black",shape="box"];4441 -> 4495[label="",style="solid", color="black", weight=3]; 101.93/62.92 4442[label="vuz259",fontsize=16,color="green",shape="box"];7640 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7640[label="primDivNatS (primMinusNatS (Succ vuz452) (Succ vuz453)) (Succ (Succ vuz453))",fontsize=16,color="magenta"];7640 -> 7667[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7640 -> 7668[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6194[label="signumReal3 (Neg (Succ vuz900))",fontsize=16,color="black",shape="box"];6194 -> 6271[label="",style="solid", color="black", weight=3]; 101.93/62.92 7207 -> 7242[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7207[label="signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero))",fontsize=16,color="magenta"];7207 -> 7243[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7208 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7208[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7208 -> 7244[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1074[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1074 -> 1178[label="",style="solid", color="black", weight=3]; 101.93/62.92 1075 -> 5797[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1075[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];1075 -> 5798[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1075 -> 5799[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1076 -> 5931[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1076[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];1076 -> 5932[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1076 -> 5933[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1077[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Pos Zero)) True) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1077 -> 1183[label="",style="solid", color="black", weight=3]; 101.93/62.92 1078[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1078 -> 1184[label="",style="solid", color="black", weight=3]; 101.93/62.92 1079[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1079 -> 1185[label="",style="solid", color="black", weight=3]; 101.93/62.92 1080[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1080 -> 1186[label="",style="solid", color="black", weight=3]; 101.93/62.92 1081[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1081 -> 1187[label="",style="solid", color="black", weight=3]; 101.93/62.92 1082[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1082 -> 1188[label="",style="solid", color="black", weight=3]; 101.93/62.92 1083[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg Zero)) True) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1083 -> 1189[label="",style="solid", color="black", weight=3]; 101.93/62.92 1084[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1084 -> 1190[label="",style="solid", color="black", weight=3]; 101.93/62.92 1085[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1085 -> 1191[label="",style="solid", color="black", weight=3]; 101.93/62.92 1086[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1086 -> 1192[label="",style="solid", color="black", weight=3]; 101.93/62.92 1087[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1087 -> 1193[label="",style="solid", color="black", weight=3]; 101.93/62.92 3410 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3410[label="primPlusNat (primMulNat vuz8000 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3410 -> 4552[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3410 -> 4553[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3411[label="Zero",fontsize=16,color="green",shape="box"];3412 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3412[label="primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3412 -> 4554[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3412 -> 4555[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3413 -> 3500[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3413[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd0 (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="magenta"];3413 -> 3501[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3413 -> 3502[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3414 -> 3518[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3414[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd1 (abs (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="magenta"];3414 -> 3519[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3414 -> 3520[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1127 -> 3500[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1127[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1127 -> 3503[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1127 -> 3504[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1127 -> 3505[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1128 -> 3518[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1128[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1128 -> 3521[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1128 -> 3522[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1128 -> 3523[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3497 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3497[label="primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3497 -> 4556[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3497 -> 4557[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3498 -> 3537[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3498[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd0 (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="magenta"];3498 -> 3538[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3498 -> 3539[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3499 -> 3554[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3499[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd1 (abs (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="magenta"];3499 -> 3555[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3499 -> 3556[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1132 -> 3537[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1132[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1132 -> 3540[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1132 -> 3541[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1132 -> 3542[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1133 -> 3554[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1133[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1133 -> 3557[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1133 -> 3558[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1133 -> 3559[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1134[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1134 -> 1241[label="",style="solid", color="black", weight=3]; 101.93/62.92 1135[label="Pos Zero",fontsize=16,color="green",shape="box"];1136[label="Integer (Pos Zero) `quot` gcd1 False (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1136 -> 1242[label="",style="solid", color="black", weight=3]; 101.93/62.92 1137[label="Integer (Pos Zero) `quot` gcd1 True (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1137 -> 1243[label="",style="solid", color="black", weight=3]; 101.93/62.92 1138[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1138 -> 1244[label="",style="solid", color="black", weight=3]; 101.93/62.92 1139[label="Pos Zero",fontsize=16,color="green",shape="box"];1140[label="Integer (Neg Zero) `quot` gcd1 False (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1140 -> 1245[label="",style="solid", color="black", weight=3]; 101.93/62.92 1141[label="Integer (Neg Zero) `quot` gcd1 True (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1141 -> 1246[label="",style="solid", color="black", weight=3]; 101.93/62.92 4064[label="vuz80",fontsize=16,color="green",shape="box"];4065[label="Integer (Neg vuz216) `quot` gcd0Gcd' (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4065 -> 4124[label="",style="solid", color="black", weight=3]; 101.93/62.92 4066[label="Integer (Neg vuz216) `quot` gcd1 (absReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4066 -> 4125[label="",style="solid", color="black", weight=3]; 101.93/62.92 4121[label="vuz80",fontsize=16,color="green",shape="box"];4122[label="Integer (Pos vuz226) `quot` gcd0Gcd' (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4122 -> 4259[label="",style="solid", color="black", weight=3]; 101.93/62.92 4123[label="Integer (Pos vuz226) `quot` gcd1 (absReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4123 -> 4260[label="",style="solid", color="black", weight=3]; 101.93/62.92 1150[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1150 -> 1257[label="",style="solid", color="black", weight=3]; 101.93/62.92 1151[label="Neg Zero",fontsize=16,color="green",shape="box"];1152[label="Integer (Pos Zero) `quot` gcd1 False (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1152 -> 1258[label="",style="solid", color="black", weight=3]; 101.93/62.92 1153[label="Integer (Pos Zero) `quot` gcd1 True (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1153 -> 1259[label="",style="solid", color="black", weight=3]; 101.93/62.92 1154[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1154 -> 1260[label="",style="solid", color="black", weight=3]; 101.93/62.92 1155[label="Neg Zero",fontsize=16,color="green",shape="box"];1156[label="Integer (Neg Zero) `quot` gcd1 False (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1156 -> 1261[label="",style="solid", color="black", weight=3]; 101.93/62.92 1157[label="Integer (Neg Zero) `quot` gcd1 True (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1157 -> 1262[label="",style="solid", color="black", weight=3]; 101.93/62.92 6262 -> 6928[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6262[label="signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero))",fontsize=16,color="magenta"];6262 -> 6929[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6263 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6263[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6263 -> 6942[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6920 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6920[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6920 -> 6943[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6919[label="signumReal1 (Pos Zero) (Pos Zero > vuz413)",fontsize=16,color="black",shape="triangle"];6919 -> 6944[label="",style="solid", color="black", weight=3]; 101.93/62.92 6927[label="Pos Zero",fontsize=16,color="green",shape="box"];4495 -> 4166[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4495[label="gcd0Gcd' vuz258 (vuz259 `rem` vuz258)",fontsize=16,color="magenta"];4495 -> 4532[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4495 -> 4533[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7667[label="Succ vuz453",fontsize=16,color="green",shape="box"];7668[label="primMinusNatS (Succ vuz452) (Succ vuz453)",fontsize=16,color="black",shape="box"];7668 -> 7692[label="",style="solid", color="black", weight=3]; 101.93/62.92 6271 -> 6952[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6271[label="signumReal2 (Neg (Succ vuz900)) (Neg (Succ vuz900) == fromInt (Pos Zero))",fontsize=16,color="magenta"];6271 -> 6953[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7243 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7243[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7243 -> 7245[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7242[label="signumReal1 (Neg Zero) (Neg Zero > vuz431)",fontsize=16,color="black",shape="triangle"];7242 -> 7246[label="",style="solid", color="black", weight=3]; 101.93/62.92 7244[label="Pos Zero",fontsize=16,color="green",shape="box"];1178[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos (Succ Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1178 -> 1287[label="",style="solid", color="black", weight=3]; 101.93/62.92 5798 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5798[label="primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)",fontsize=16,color="magenta"];5798 -> 5876[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5798 -> 5877[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5799 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5799[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5799 -> 5878[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5799 -> 5879[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5797[label="Integer (Pos (Succ vuz900)) `quot` gcd2 vuz339 (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8515[label="vuz339/False",fontsize=10,color="white",style="solid",shape="box"];5797 -> 8515[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8515 -> 5880[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8516[label="vuz339/True",fontsize=10,color="white",style="solid",shape="box"];5797 -> 8516[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8516 -> 5881[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 5932 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5932[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5932 -> 5996[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5932 -> 5997[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5933 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5933[label="primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)",fontsize=16,color="magenta"];5933 -> 5998[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5933 -> 5999[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5931[label="Integer (Pos (Succ vuz900)) `quot` gcd2 vuz358 (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8517[label="vuz358/False",fontsize=10,color="white",style="solid",shape="box"];5931 -> 8517[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8517 -> 6000[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8518[label="vuz358/True",fontsize=10,color="white",style="solid",shape="box"];5931 -> 8518[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8518 -> 6001[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1183[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1183 -> 1292[label="",style="solid", color="black", weight=3]; 101.93/62.92 1184 -> 1293[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1184[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1184 -> 1294[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1185 -> 1293[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1185[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1185 -> 1295[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1186 -> 1296[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1186[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1186 -> 1297[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1187 -> 1296[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1187[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1187 -> 1298[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1188[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1188 -> 1299[label="",style="solid", color="black", weight=3]; 101.93/62.92 1189[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1189 -> 1300[label="",style="solid", color="black", weight=3]; 101.93/62.92 1190 -> 1301[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1190[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1190 -> 1302[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1191 -> 1301[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1191[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1191 -> 1303[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1192 -> 1304[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1192[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1192 -> 1305[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1193 -> 1304[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1193[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1193 -> 1306[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4552 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4552[label="primMulNat vuz8000 (Succ Zero)",fontsize=16,color="magenta"];4552 -> 4577[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4552 -> 4578[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4553[label="Zero",fontsize=16,color="green",shape="box"];4554 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4554[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];4554 -> 4581[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4554 -> 4582[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4555[label="Zero",fontsize=16,color="green",shape="box"];3501 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3501[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3501 -> 4560[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3501 -> 4561[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3502 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3502[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3502 -> 4562[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3502 -> 4563[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3500[label="Integer (Pos vuz207) `quot` gcd0 (Integer (Pos vuz208)) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="triangle"];3500 -> 3577[label="",style="solid", color="black", weight=3]; 101.93/62.92 3519 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3519[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3519 -> 4564[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3519 -> 4565[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3520 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3520[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3520 -> 4566[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3520 -> 4567[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3518[label="Integer (Pos vuz209) `quot` gcd1 (abs (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="triangle"];3518 -> 3580[label="",style="solid", color="black", weight=3]; 101.93/62.92 3503[label="Zero",fontsize=16,color="green",shape="box"];3504[label="Zero",fontsize=16,color="green",shape="box"];3505[label="vuz900",fontsize=16,color="green",shape="box"];3521[label="Zero",fontsize=16,color="green",shape="box"];3522[label="Zero",fontsize=16,color="green",shape="box"];3523[label="vuz900",fontsize=16,color="green",shape="box"];4556 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4556[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];4556 -> 4583[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4556 -> 4584[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4557[label="Zero",fontsize=16,color="green",shape="box"];3538 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3538[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3538 -> 4568[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3538 -> 4569[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3539 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3539[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3539 -> 4570[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3539 -> 4571[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3537[label="Integer (Neg vuz211) `quot` gcd0 (Integer (Neg vuz212)) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="triangle"];3537 -> 3584[label="",style="solid", color="black", weight=3]; 101.93/62.92 3555 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3555[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3555 -> 4572[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3555 -> 4573[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3556 -> 4551[label="",style="dashed", color="red", weight=0]; 101.93/62.92 3556[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3556 -> 4574[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3556 -> 4575[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3554[label="Integer (Neg vuz213) `quot` gcd1 (abs (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="triangle"];3554 -> 3587[label="",style="solid", color="black", weight=3]; 101.93/62.92 3540[label="Zero",fontsize=16,color="green",shape="box"];3541[label="Zero",fontsize=16,color="green",shape="box"];3542[label="vuz900",fontsize=16,color="green",shape="box"];3557[label="Zero",fontsize=16,color="green",shape="box"];3558[label="Zero",fontsize=16,color="green",shape="box"];3559[label="vuz900",fontsize=16,color="green",shape="box"];1241[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1241 -> 1369[label="",style="solid", color="black", weight=3]; 101.93/62.92 1242[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1242 -> 1370[label="",style="solid", color="black", weight=3]; 101.93/62.92 1243[label="Integer (Pos Zero) `quot` error []",fontsize=16,color="black",shape="triangle"];1243 -> 1371[label="",style="solid", color="black", weight=3]; 101.93/62.92 1244[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1244 -> 1372[label="",style="solid", color="black", weight=3]; 101.93/62.92 1245[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1245 -> 1373[label="",style="solid", color="black", weight=3]; 101.93/62.92 1246[label="Integer (Neg Zero) `quot` error []",fontsize=16,color="black",shape="triangle"];1246 -> 1374[label="",style="solid", color="black", weight=3]; 101.93/62.92 4124[label="Integer (Neg vuz216) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4124 -> 4261[label="",style="solid", color="black", weight=3]; 101.93/62.92 4125[label="Integer (Neg vuz216) `quot` gcd1 (absReal2 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal2 (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4125 -> 4262[label="",style="solid", color="black", weight=3]; 101.93/62.92 4259[label="Integer (Pos vuz226) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4259 -> 4363[label="",style="solid", color="black", weight=3]; 101.93/62.92 4260[label="Integer (Pos vuz226) `quot` gcd1 (absReal2 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal2 (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4260 -> 4364[label="",style="solid", color="black", weight=3]; 101.93/62.92 1257[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1257 -> 1386[label="",style="solid", color="black", weight=3]; 101.93/62.92 1258[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1258 -> 1387[label="",style="solid", color="black", weight=3]; 101.93/62.92 1259 -> 1243[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1259[label="Integer (Pos Zero) `quot` error []",fontsize=16,color="magenta"];1260[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1260 -> 1388[label="",style="solid", color="black", weight=3]; 101.93/62.92 1261[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1261 -> 1389[label="",style="solid", color="black", weight=3]; 101.93/62.92 1262 -> 1246[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1262[label="Integer (Neg Zero) `quot` error []",fontsize=16,color="magenta"];6929 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6929[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6929 -> 6962[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6928[label="signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > vuz414)",fontsize=16,color="black",shape="triangle"];6928 -> 6963[label="",style="solid", color="black", weight=3]; 101.93/62.92 6942[label="Pos Zero",fontsize=16,color="green",shape="box"];6943[label="Pos Zero",fontsize=16,color="green",shape="box"];6944[label="signumReal1 (Pos Zero) (compare (Pos Zero) vuz413 == GT)",fontsize=16,color="black",shape="box"];6944 -> 6964[label="",style="solid", color="black", weight=3]; 101.93/62.92 4532[label="vuz258",fontsize=16,color="green",shape="box"];4533 -> 4170[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4533[label="vuz259 `rem` vuz258",fontsize=16,color="magenta"];4533 -> 4660[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4533 -> 4661[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7692[label="primMinusNatS vuz452 vuz453",fontsize=16,color="burlywood",shape="triangle"];8519[label="vuz452/Succ vuz4520",fontsize=10,color="white",style="solid",shape="box"];7692 -> 8519[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8519 -> 7720[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8520[label="vuz452/Zero",fontsize=10,color="white",style="solid",shape="box"];7692 -> 8520[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8520 -> 7721[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 6953 -> 2582[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6953[label="Neg (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6953 -> 6973[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6952[label="signumReal2 (Neg (Succ vuz900)) vuz417",fontsize=16,color="burlywood",shape="triangle"];8521[label="vuz417/False",fontsize=10,color="white",style="solid",shape="box"];6952 -> 8521[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8521 -> 6974[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8522[label="vuz417/True",fontsize=10,color="white",style="solid",shape="box"];6952 -> 8522[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8522 -> 6975[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7245[label="Pos Zero",fontsize=16,color="green",shape="box"];7246[label="signumReal1 (Neg Zero) (compare (Neg Zero) vuz431 == GT)",fontsize=16,color="black",shape="box"];7246 -> 7257[label="",style="solid", color="black", weight=3]; 101.93/62.92 1287[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * Integer (Pos (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos (Succ Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1287 -> 1412[label="",style="solid", color="black", weight=3]; 101.93/62.92 5876[label="Pos Zero",fontsize=16,color="green",shape="box"];5877[label="Pos (primMulNat vuz80 Zero)",fontsize=16,color="green",shape="box"];5877 -> 5913[label="",style="dashed", color="green", weight=3]; 101.93/62.92 5878[label="Zero",fontsize=16,color="green",shape="box"];5879[label="vuz80",fontsize=16,color="green",shape="box"];5880[label="Integer (Pos (Succ vuz900)) `quot` gcd2 False (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5880 -> 5914[label="",style="solid", color="black", weight=3]; 101.93/62.92 5881[label="Integer (Pos (Succ vuz900)) `quot` gcd2 True (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5881 -> 5915[label="",style="solid", color="black", weight=3]; 101.93/62.92 5996[label="Zero",fontsize=16,color="green",shape="box"];5997[label="vuz80",fontsize=16,color="green",shape="box"];5998[label="Pos Zero",fontsize=16,color="green",shape="box"];5999[label="Neg (primMulNat vuz80 Zero)",fontsize=16,color="green",shape="box"];5999 -> 6023[label="",style="dashed", color="green", weight=3]; 101.93/62.92 6000[label="Integer (Pos (Succ vuz900)) `quot` gcd2 False (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6000 -> 6024[label="",style="solid", color="black", weight=3]; 101.93/62.92 6001[label="Integer (Pos (Succ vuz900)) `quot` gcd2 True (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6001 -> 6025[label="",style="solid", color="black", weight=3]; 101.93/62.92 1292[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1292 -> 1419[label="",style="solid", color="black", weight=3]; 101.93/62.92 1294 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1294[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1294 -> 2775[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1294 -> 2776[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1293[label="Integer (Pos Zero) `quot` gcd2 vuz66 (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8523[label="vuz66/False",fontsize=10,color="white",style="solid",shape="box"];1293 -> 8523[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8523 -> 1420[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8524[label="vuz66/True",fontsize=10,color="white",style="solid",shape="box"];1293 -> 8524[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8524 -> 1421[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1295 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1295[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1295 -> 2777[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1295 -> 2778[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1297 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1297[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1297 -> 2779[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1297 -> 2780[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1296[label="Integer (Pos Zero) `quot` gcd2 vuz67 (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8525[label="vuz67/False",fontsize=10,color="white",style="solid",shape="box"];1296 -> 8525[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8525 -> 1422[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8526[label="vuz67/True",fontsize=10,color="white",style="solid",shape="box"];1296 -> 8526[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8526 -> 1423[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1298 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1298[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1298 -> 2781[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1298 -> 2782[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1299[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1299 -> 1424[label="",style="solid", color="black", weight=3]; 101.93/62.92 1300[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1300 -> 1425[label="",style="solid", color="black", weight=3]; 101.93/62.92 1302 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1302[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1302 -> 2783[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1302 -> 2784[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1301[label="Integer (Neg Zero) `quot` gcd2 vuz68 (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8527[label="vuz68/False",fontsize=10,color="white",style="solid",shape="box"];1301 -> 8527[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8527 -> 1426[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8528[label="vuz68/True",fontsize=10,color="white",style="solid",shape="box"];1301 -> 8528[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8528 -> 1427[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1303 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1303[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1303 -> 2785[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1303 -> 2786[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1305 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1305[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1305 -> 2787[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1305 -> 2788[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1304[label="Integer (Neg Zero) `quot` gcd2 vuz69 (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8529[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];1304 -> 8529[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8529 -> 1428[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8530[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];1304 -> 8530[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8530 -> 1429[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1306 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1306[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1306 -> 2789[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1306 -> 2790[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4577[label="Succ Zero",fontsize=16,color="green",shape="box"];4578[label="vuz8000",fontsize=16,color="green",shape="box"];4581[label="Succ Zero",fontsize=16,color="green",shape="box"];4582[label="vuz800",fontsize=16,color="green",shape="box"];4560[label="vuz195",fontsize=16,color="green",shape="box"];4561[label="Zero",fontsize=16,color="green",shape="box"];4562[label="vuz195",fontsize=16,color="green",shape="box"];4563[label="Zero",fontsize=16,color="green",shape="box"];3577[label="Integer (Pos vuz207) `quot` gcd0Gcd' (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3577 -> 3684[label="",style="solid", color="black", weight=3]; 101.93/62.92 4564[label="vuz195",fontsize=16,color="green",shape="box"];4565[label="Zero",fontsize=16,color="green",shape="box"];4566[label="vuz195",fontsize=16,color="green",shape="box"];4567[label="Zero",fontsize=16,color="green",shape="box"];3580[label="Integer (Pos vuz209) `quot` gcd1 (absReal (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3580 -> 3685[label="",style="solid", color="black", weight=3]; 101.93/62.92 4583[label="Succ Zero",fontsize=16,color="green",shape="box"];4584[label="vuz800",fontsize=16,color="green",shape="box"];4568[label="vuz203",fontsize=16,color="green",shape="box"];4569[label="Zero",fontsize=16,color="green",shape="box"];4570[label="vuz203",fontsize=16,color="green",shape="box"];4571[label="Zero",fontsize=16,color="green",shape="box"];3584[label="Integer (Neg vuz211) `quot` gcd0Gcd' (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3584 -> 3686[label="",style="solid", color="black", weight=3]; 101.93/62.92 4572[label="vuz203",fontsize=16,color="green",shape="box"];4573[label="Zero",fontsize=16,color="green",shape="box"];4574[label="vuz203",fontsize=16,color="green",shape="box"];4575[label="Zero",fontsize=16,color="green",shape="box"];3587[label="Integer (Neg vuz213) `quot` gcd1 (absReal (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3587 -> 3687[label="",style="solid", color="black", weight=3]; 101.93/62.92 1369[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1369 -> 1505[label="",style="solid", color="black", weight=3]; 101.93/62.92 1370[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1370 -> 1506[label="",style="solid", color="black", weight=3]; 101.93/62.92 1371[label="error []",fontsize=16,color="red",shape="box"];1372[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1372 -> 1507[label="",style="solid", color="black", weight=3]; 101.93/62.92 1373[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1373 -> 1508[label="",style="solid", color="black", weight=3]; 101.93/62.92 1374[label="error []",fontsize=16,color="red",shape="box"];4261[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4261 -> 4365[label="",style="solid", color="black", weight=3]; 101.93/62.92 4262[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4262 -> 4366[label="",style="solid", color="black", weight=3]; 101.93/62.92 4363[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4363 -> 4459[label="",style="solid", color="black", weight=3]; 101.93/62.92 4364[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4364 -> 4460[label="",style="solid", color="black", weight=3]; 101.93/62.92 1386[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1386 -> 1523[label="",style="solid", color="black", weight=3]; 101.93/62.92 1387[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1387 -> 1524[label="",style="solid", color="black", weight=3]; 101.93/62.92 1388[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1388 -> 1525[label="",style="solid", color="black", weight=3]; 101.93/62.92 1389[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1389 -> 1526[label="",style="solid", color="black", weight=3]; 101.93/62.92 6962[label="Pos Zero",fontsize=16,color="green",shape="box"];6963[label="signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) vuz414 == GT)",fontsize=16,color="black",shape="box"];6963 -> 7020[label="",style="solid", color="black", weight=3]; 101.93/62.92 6964[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) vuz413 == GT)",fontsize=16,color="burlywood",shape="box"];8531[label="vuz413/Pos vuz4130",fontsize=10,color="white",style="solid",shape="box"];6964 -> 8531[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8531 -> 7021[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8532[label="vuz413/Neg vuz4130",fontsize=10,color="white",style="solid",shape="box"];6964 -> 8532[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8532 -> 7022[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4660[label="vuz259",fontsize=16,color="green",shape="box"];4661[label="vuz258",fontsize=16,color="green",shape="box"];4170[label="vuz156 `rem` vuz155",fontsize=16,color="black",shape="triangle"];4170 -> 4263[label="",style="solid", color="black", weight=3]; 101.93/62.92 7720[label="primMinusNatS (Succ vuz4520) vuz453",fontsize=16,color="burlywood",shape="box"];8533[label="vuz453/Succ vuz4530",fontsize=10,color="white",style="solid",shape="box"];7720 -> 8533[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8533 -> 7746[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8534[label="vuz453/Zero",fontsize=10,color="white",style="solid",shape="box"];7720 -> 8534[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8534 -> 7747[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7721[label="primMinusNatS Zero vuz453",fontsize=16,color="burlywood",shape="box"];8535[label="vuz453/Succ vuz4530",fontsize=10,color="white",style="solid",shape="box"];7721 -> 8535[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8535 -> 7748[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8536[label="vuz453/Zero",fontsize=10,color="white",style="solid",shape="box"];7721 -> 8536[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8536 -> 7749[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 6973[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];6974[label="signumReal2 (Neg (Succ vuz900)) False",fontsize=16,color="black",shape="box"];6974 -> 7030[label="",style="solid", color="black", weight=3]; 101.93/62.92 6975[label="signumReal2 (Neg (Succ vuz900)) True",fontsize=16,color="black",shape="box"];6975 -> 7031[label="",style="solid", color="black", weight=3]; 101.93/62.92 7257[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) vuz431 == GT)",fontsize=16,color="burlywood",shape="box"];8537[label="vuz431/Pos vuz4310",fontsize=10,color="white",style="solid",shape="box"];7257 -> 8537[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8537 -> 7260[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8538[label="vuz431/Neg vuz4310",fontsize=10,color="white",style="solid",shape="box"];7257 -> 8538[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8538 -> 7261[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1412[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1412 -> 1547[label="",style="solid", color="black", weight=3]; 101.93/62.92 5913 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5913[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5913 -> 6002[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5913 -> 6003[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5914[label="Integer (Pos (Succ vuz900)) `quot` gcd0 (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5914 -> 6004[label="",style="solid", color="black", weight=3]; 101.93/62.92 5915 -> 6053[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5915[label="Integer (Pos (Succ vuz900)) `quot` gcd1 (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5915 -> 6054[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5915 -> 6055[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5915 -> 6056[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5915 -> 6057[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6023 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6023[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6023 -> 6195[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6023 -> 6196[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6024[label="Integer (Pos (Succ vuz900)) `quot` gcd0 (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6024 -> 6197[label="",style="solid", color="black", weight=3]; 101.93/62.92 6025 -> 6053[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6025[label="Integer (Pos (Succ vuz900)) `quot` gcd1 (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6025 -> 6058[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6025 -> 6059[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6025 -> 6060[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6025 -> 6061[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1419 -> 4467[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1419[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (Pos Zero))",fontsize=16,color="magenta"];1419 -> 4468[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1419 -> 4469[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1419 -> 4470[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 2775[label="Pos Zero",fontsize=16,color="green",shape="box"];2776[label="Pos Zero",fontsize=16,color="green",shape="box"];1420[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1420 -> 1553[label="",style="solid", color="black", weight=3]; 101.93/62.92 1421[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1421 -> 1554[label="",style="solid", color="black", weight=3]; 101.93/62.92 2777[label="Pos Zero",fontsize=16,color="green",shape="box"];2778[label="Pos Zero",fontsize=16,color="green",shape="box"];2779[label="Pos Zero",fontsize=16,color="green",shape="box"];2780[label="Neg Zero",fontsize=16,color="green",shape="box"];1422[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1422 -> 1555[label="",style="solid", color="black", weight=3]; 101.93/62.92 1423[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1423 -> 1556[label="",style="solid", color="black", weight=3]; 101.93/62.92 2781[label="Pos Zero",fontsize=16,color="green",shape="box"];2782[label="Neg Zero",fontsize=16,color="green",shape="box"];1424[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1424 -> 1557[label="",style="solid", color="black", weight=3]; 101.93/62.92 1425 -> 4467[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1425[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (Neg Zero))",fontsize=16,color="magenta"];1425 -> 4471[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1425 -> 4472[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1425 -> 4473[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 2783[label="Pos Zero",fontsize=16,color="green",shape="box"];2784[label="Pos Zero",fontsize=16,color="green",shape="box"];1426[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1426 -> 1559[label="",style="solid", color="black", weight=3]; 101.93/62.92 1427[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1427 -> 1560[label="",style="solid", color="black", weight=3]; 101.93/62.92 2785[label="Pos Zero",fontsize=16,color="green",shape="box"];2786[label="Pos Zero",fontsize=16,color="green",shape="box"];2787[label="Pos Zero",fontsize=16,color="green",shape="box"];2788[label="Neg Zero",fontsize=16,color="green",shape="box"];1428[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1428 -> 1561[label="",style="solid", color="black", weight=3]; 101.93/62.92 1429[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1429 -> 1562[label="",style="solid", color="black", weight=3]; 101.93/62.92 2789[label="Pos Zero",fontsize=16,color="green",shape="box"];2790[label="Neg Zero",fontsize=16,color="green",shape="box"];3684[label="Integer (Pos vuz207) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3684 -> 3781[label="",style="solid", color="black", weight=3]; 101.93/62.92 3685[label="Integer (Pos vuz209) `quot` gcd1 (absReal2 (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal2 (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3685 -> 3782[label="",style="solid", color="black", weight=3]; 101.93/62.92 3686[label="Integer (Neg vuz211) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3686 -> 3783[label="",style="solid", color="black", weight=3]; 101.93/62.92 3687[label="Integer (Neg vuz213) `quot` gcd1 (absReal2 (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal2 (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3687 -> 3784[label="",style="solid", color="black", weight=3]; 101.93/62.92 1505[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1505 -> 1639[label="",style="solid", color="black", weight=3]; 101.93/62.92 1506[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1506 -> 1640[label="",style="solid", color="black", weight=3]; 101.93/62.92 1507[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1507 -> 1641[label="",style="solid", color="black", weight=3]; 101.93/62.92 1508[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1508 -> 1642[label="",style="solid", color="black", weight=3]; 101.93/62.92 4365[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4365 -> 4461[label="",style="solid", color="black", weight=3]; 101.93/62.92 4366[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4366 -> 4462[label="",style="solid", color="black", weight=3]; 101.93/62.92 4459[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4459 -> 4543[label="",style="solid", color="black", weight=3]; 101.93/62.92 4460[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4460 -> 4544[label="",style="solid", color="black", weight=3]; 101.93/62.92 1523[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1523 -> 1656[label="",style="solid", color="black", weight=3]; 101.93/62.92 1524[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1524 -> 1657[label="",style="solid", color="black", weight=3]; 101.93/62.92 1525[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1525 -> 1658[label="",style="solid", color="black", weight=3]; 101.93/62.92 1526[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1526 -> 1659[label="",style="solid", color="black", weight=3]; 101.93/62.92 7020[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) vuz414 == GT)",fontsize=16,color="burlywood",shape="box"];8539[label="vuz414/Pos vuz4140",fontsize=10,color="white",style="solid",shape="box"];7020 -> 8539[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8539 -> 7064[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8540[label="vuz414/Neg vuz4140",fontsize=10,color="white",style="solid",shape="box"];7020 -> 8540[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8540 -> 7065[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7021[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos vuz4130) == GT)",fontsize=16,color="burlywood",shape="box"];8541[label="vuz4130/Succ vuz41300",fontsize=10,color="white",style="solid",shape="box"];7021 -> 8541[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8541 -> 7066[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8542[label="vuz4130/Zero",fontsize=10,color="white",style="solid",shape="box"];7021 -> 8542[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8542 -> 7067[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7022[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg vuz4130) == GT)",fontsize=16,color="burlywood",shape="box"];8543[label="vuz4130/Succ vuz41300",fontsize=10,color="white",style="solid",shape="box"];7022 -> 8543[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8543 -> 7068[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8544[label="vuz4130/Zero",fontsize=10,color="white",style="solid",shape="box"];7022 -> 8544[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8544 -> 7069[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4263[label="primRemInt vuz156 vuz155",fontsize=16,color="burlywood",shape="triangle"];8545[label="vuz156/Pos vuz1560",fontsize=10,color="white",style="solid",shape="box"];4263 -> 8545[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8545 -> 4367[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8546[label="vuz156/Neg vuz1560",fontsize=10,color="white",style="solid",shape="box"];4263 -> 8546[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8546 -> 4368[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7746[label="primMinusNatS (Succ vuz4520) (Succ vuz4530)",fontsize=16,color="black",shape="box"];7746 -> 7776[label="",style="solid", color="black", weight=3]; 101.93/62.92 7747[label="primMinusNatS (Succ vuz4520) Zero",fontsize=16,color="black",shape="box"];7747 -> 7777[label="",style="solid", color="black", weight=3]; 101.93/62.92 7748[label="primMinusNatS Zero (Succ vuz4530)",fontsize=16,color="black",shape="box"];7748 -> 7778[label="",style="solid", color="black", weight=3]; 101.93/62.92 7749[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];7749 -> 7779[label="",style="solid", color="black", weight=3]; 101.93/62.92 7030 -> 7077[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7030[label="signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero))",fontsize=16,color="magenta"];7030 -> 7078[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7031 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7031[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7031 -> 7087[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7260[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos vuz4310) == GT)",fontsize=16,color="burlywood",shape="box"];8547[label="vuz4310/Succ vuz43100",fontsize=10,color="white",style="solid",shape="box"];7260 -> 8547[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8547 -> 7291[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8548[label="vuz4310/Zero",fontsize=10,color="white",style="solid",shape="box"];7260 -> 8548[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8548 -> 7292[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7261[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg vuz4310) == GT)",fontsize=16,color="burlywood",shape="box"];8549[label="vuz4310/Succ vuz43100",fontsize=10,color="white",style="solid",shape="box"];7261 -> 8549[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8549 -> 7293[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8550[label="vuz4310/Zero",fontsize=10,color="white",style="solid",shape="box"];7261 -> 8550[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8550 -> 7294[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1547[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1547 -> 1684[label="",style="solid", color="black", weight=3]; 101.93/62.92 6002[label="Zero",fontsize=16,color="green",shape="box"];6003[label="vuz80",fontsize=16,color="green",shape="box"];6004 -> 4807[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6004[label="Integer (Pos (Succ vuz900)) `quot` gcd0Gcd' (abs (Integer (Pos vuz340))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];6004 -> 6026[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6004 -> 6027[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6004 -> 6028[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6054[label="Pos vuz340",fontsize=16,color="green",shape="box"];6055[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6056[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6057 -> 148[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6057[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6057 -> 6198[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6053[label="Integer vuz268 `quot` gcd1 vuz372 (Integer vuz299) (Integer vuz269)",fontsize=16,color="burlywood",shape="triangle"];8551[label="vuz372/False",fontsize=10,color="white",style="solid",shape="box"];6053 -> 8551[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8551 -> 6199[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8552[label="vuz372/True",fontsize=10,color="white",style="solid",shape="box"];6053 -> 8552[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8552 -> 6200[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 6195[label="Zero",fontsize=16,color="green",shape="box"];6196[label="vuz80",fontsize=16,color="green",shape="box"];6197 -> 4807[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6197[label="Integer (Pos (Succ vuz900)) `quot` gcd0Gcd' (abs (Integer (Neg vuz359))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];6197 -> 6273[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6197 -> 6274[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6197 -> 6275[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6058[label="Neg vuz359",fontsize=16,color="green",shape="box"];6059[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6060[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6061 -> 148[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6061[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6061 -> 6201[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4468[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];4468 -> 4545[label="",style="solid", color="black", weight=3]; 101.93/62.92 4469[label="Pos Zero",fontsize=16,color="green",shape="box"];4470[label="Pos Zero",fontsize=16,color="green",shape="box"];4467[label="Integer vuz268 `quot` gcd2 vuz280 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="burlywood",shape="triangle"];8553[label="vuz280/False",fontsize=10,color="white",style="solid",shape="box"];4467 -> 8553[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8553 -> 4546[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8554[label="vuz280/True",fontsize=10,color="white",style="solid",shape="box"];4467 -> 8554[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8554 -> 4547[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1553[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="triangle"];1553 -> 1690[label="",style="solid", color="black", weight=3]; 101.93/62.92 1554 -> 6053[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1554[label="Integer (Pos Zero) `quot` gcd1 (Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1554 -> 6066[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1554 -> 6067[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1554 -> 6068[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1554 -> 6069[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1555[label="Integer (Pos Zero) `quot` gcd0 (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="triangle"];1555 -> 1693[label="",style="solid", color="black", weight=3]; 101.93/62.92 1556 -> 6053[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1556[label="Integer (Pos Zero) `quot` gcd1 (Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1556 -> 6070[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1556 -> 6071[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1556 -> 6072[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1556 -> 6073[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1557[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1557 -> 1696[label="",style="solid", color="black", weight=3]; 101.93/62.92 4471 -> 4468[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4471[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4472[label="Neg Zero",fontsize=16,color="green",shape="box"];4473[label="Neg Zero",fontsize=16,color="green",shape="box"];1559[label="Integer (Neg Zero) `quot` gcd0 (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="triangle"];1559 -> 1698[label="",style="solid", color="black", weight=3]; 101.93/62.92 1560 -> 6053[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1560[label="Integer (Neg Zero) `quot` gcd1 (Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1560 -> 6074[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1560 -> 6075[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1560 -> 6076[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1560 -> 6077[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1561[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="triangle"];1561 -> 1701[label="",style="solid", color="black", weight=3]; 101.93/62.92 1562 -> 6053[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1562[label="Integer (Neg Zero) `quot` gcd1 (Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1562 -> 6078[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1562 -> 6079[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1562 -> 6080[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1562 -> 6081[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 3781[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3781 -> 4142[label="",style="solid", color="black", weight=3]; 101.93/62.92 3782[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3782 -> 4143[label="",style="solid", color="black", weight=3]; 101.93/62.92 3783[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3783 -> 4144[label="",style="solid", color="black", weight=3]; 101.93/62.92 3784[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3784 -> 4145[label="",style="solid", color="black", weight=3]; 101.93/62.92 1639[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1639 -> 1787[label="",style="solid", color="black", weight=3]; 101.93/62.92 1640[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1640 -> 1788[label="",style="solid", color="black", weight=3]; 101.93/62.92 1641[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1641 -> 1789[label="",style="solid", color="black", weight=3]; 101.93/62.92 1642[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1642 -> 1790[label="",style="solid", color="black", weight=3]; 101.93/62.92 4461[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal2 (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4461 -> 4548[label="",style="solid", color="black", weight=3]; 101.93/62.92 4462 -> 4549[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4462[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4462 -> 4550[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4543[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal2 (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4543 -> 4671[label="",style="solid", color="black", weight=3]; 101.93/62.92 4544 -> 4672[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4544[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4544 -> 4673[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1656[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1656 -> 1807[label="",style="solid", color="black", weight=3]; 101.93/62.92 1657[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1657 -> 1808[label="",style="solid", color="black", weight=3]; 101.93/62.92 1658[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1658 -> 1809[label="",style="solid", color="black", weight=3]; 101.93/62.92 1659[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1659 -> 1810[label="",style="solid", color="black", weight=3]; 101.93/62.92 7064[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos vuz4140) == GT)",fontsize=16,color="black",shape="box"];7064 -> 7088[label="",style="solid", color="black", weight=3]; 101.93/62.92 7065[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Neg vuz4140) == GT)",fontsize=16,color="black",shape="box"];7065 -> 7089[label="",style="solid", color="black", weight=3]; 101.93/62.92 7066[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos (Succ vuz41300)) == GT)",fontsize=16,color="black",shape="box"];7066 -> 7090[label="",style="solid", color="black", weight=3]; 101.93/62.92 7067[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];7067 -> 7091[label="",style="solid", color="black", weight=3]; 101.93/62.92 7068[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg (Succ vuz41300)) == GT)",fontsize=16,color="black",shape="box"];7068 -> 7092[label="",style="solid", color="black", weight=3]; 101.93/62.92 7069[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];7069 -> 7093[label="",style="solid", color="black", weight=3]; 101.93/62.92 4367[label="primRemInt (Pos vuz1560) vuz155",fontsize=16,color="burlywood",shape="box"];8555[label="vuz155/Pos vuz1550",fontsize=10,color="white",style="solid",shape="box"];4367 -> 8555[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8555 -> 4463[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8556[label="vuz155/Neg vuz1550",fontsize=10,color="white",style="solid",shape="box"];4367 -> 8556[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8556 -> 4464[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4368[label="primRemInt (Neg vuz1560) vuz155",fontsize=16,color="burlywood",shape="box"];8557[label="vuz155/Pos vuz1550",fontsize=10,color="white",style="solid",shape="box"];4368 -> 8557[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8557 -> 4465[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8558[label="vuz155/Neg vuz1550",fontsize=10,color="white",style="solid",shape="box"];4368 -> 8558[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8558 -> 4466[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7776 -> 7692[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7776[label="primMinusNatS vuz4520 vuz4530",fontsize=16,color="magenta"];7776 -> 7805[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7776 -> 7806[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7777[label="Succ vuz4520",fontsize=16,color="green",shape="box"];7778[label="Zero",fontsize=16,color="green",shape="box"];7779[label="Zero",fontsize=16,color="green",shape="box"];7078 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7078[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7078 -> 7102[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7077[label="signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > vuz427)",fontsize=16,color="black",shape="triangle"];7077 -> 7103[label="",style="solid", color="black", weight=3]; 101.93/62.92 7087[label="Pos Zero",fontsize=16,color="green",shape="box"];7291[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos (Succ vuz43100)) == GT)",fontsize=16,color="black",shape="box"];7291 -> 7322[label="",style="solid", color="black", weight=3]; 101.93/62.92 7292[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];7292 -> 7323[label="",style="solid", color="black", weight=3]; 101.93/62.92 7293[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg (Succ vuz43100)) == GT)",fontsize=16,color="black",shape="box"];7293 -> 7324[label="",style="solid", color="black", weight=3]; 101.93/62.92 7294[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];7294 -> 7325[label="",style="solid", color="black", weight=3]; 101.93/62.92 1684[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8559[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];1684 -> 8559[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8559 -> 1837[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8560[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];1684 -> 8560[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8560 -> 1838[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 6026[label="Pos vuz340",fontsize=16,color="green",shape="box"];6027[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6028[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];4807[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="triangle"];4807 -> 4829[label="",style="solid", color="black", weight=3]; 101.93/62.92 6198[label="vuz900",fontsize=16,color="green",shape="box"];6199[label="Integer vuz268 `quot` gcd1 False (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6199 -> 6276[label="",style="solid", color="black", weight=3]; 101.93/62.92 6200[label="Integer vuz268 `quot` gcd1 True (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6200 -> 6277[label="",style="solid", color="black", weight=3]; 101.93/62.92 6273[label="Neg vuz359",fontsize=16,color="green",shape="box"];6274[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6275[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6201[label="vuz900",fontsize=16,color="green",shape="box"];4545[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];4545 -> 4720[label="",style="solid", color="black", weight=3]; 101.93/62.92 4546[label="Integer vuz268 `quot` gcd2 False (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4546 -> 4721[label="",style="solid", color="black", weight=3]; 101.93/62.92 4547[label="Integer vuz268 `quot` gcd2 True (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4547 -> 4722[label="",style="solid", color="black", weight=3]; 101.93/62.92 1690 -> 4807[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1690[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];1690 -> 4808[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1690 -> 4809[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1690 -> 4810[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6066[label="Pos Zero",fontsize=16,color="green",shape="box"];6067[label="Pos Zero",fontsize=16,color="green",shape="box"];6068[label="Pos Zero",fontsize=16,color="green",shape="box"];6069 -> 131[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6069[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1693 -> 4807[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1693[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];1693 -> 4811[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1693 -> 4812[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1693 -> 4813[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6070[label="Neg Zero",fontsize=16,color="green",shape="box"];6071[label="Pos Zero",fontsize=16,color="green",shape="box"];6072[label="Pos Zero",fontsize=16,color="green",shape="box"];6073 -> 131[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6073[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1696[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1696 -> 1853[label="",style="solid", color="black", weight=3]; 101.93/62.92 1698 -> 4807[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1698[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];1698 -> 4814[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1698 -> 4815[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1698 -> 4816[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6074[label="Pos Zero",fontsize=16,color="green",shape="box"];6075[label="Neg Zero",fontsize=16,color="green",shape="box"];6076[label="Neg Zero",fontsize=16,color="green",shape="box"];6077 -> 133[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6077[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1701 -> 4807[label="",style="dashed", color="red", weight=0]; 101.93/62.92 1701[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];1701 -> 4817[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1701 -> 4818[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1701 -> 4819[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6078[label="Neg Zero",fontsize=16,color="green",shape="box"];6079[label="Neg Zero",fontsize=16,color="green",shape="box"];6080[label="Neg Zero",fontsize=16,color="green",shape="box"];6081 -> 133[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6081[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4142[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];4142 -> 4276[label="",style="solid", color="black", weight=3]; 101.93/62.92 4143[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4143 -> 4277[label="",style="solid", color="black", weight=3]; 101.93/62.92 4144[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];4144 -> 4278[label="",style="solid", color="black", weight=3]; 101.93/62.92 4145[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4145 -> 4279[label="",style="solid", color="black", weight=3]; 101.93/62.92 1787[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1787 -> 1961[label="",style="solid", color="black", weight=3]; 101.93/62.92 1788[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1788 -> 1962[label="",style="solid", color="black", weight=3]; 101.93/62.92 1789[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1789 -> 1963[label="",style="solid", color="black", weight=3]; 101.93/62.92 1790[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1790 -> 1964[label="",style="solid", color="black", weight=3]; 101.93/62.92 4548[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4548 -> 4723[label="",style="solid", color="black", weight=3]; 101.93/62.92 4550 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4550[label="absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4550 -> 4724[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4549[label="Integer (Neg vuz216) `quot` gcd1 vuz284 (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8561[label="vuz284/False",fontsize=10,color="white",style="solid",shape="box"];4549 -> 8561[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8561 -> 4725[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8562[label="vuz284/True",fontsize=10,color="white",style="solid",shape="box"];4549 -> 8562[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8562 -> 4726[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4671[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4671 -> 4727[label="",style="solid", color="black", weight=3]; 101.93/62.92 4673 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4673[label="absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4673 -> 4728[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4672[label="Integer (Pos vuz226) `quot` gcd1 vuz294 (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8563[label="vuz294/False",fontsize=10,color="white",style="solid",shape="box"];4672 -> 8563[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8563 -> 4729[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8564[label="vuz294/True",fontsize=10,color="white",style="solid",shape="box"];4672 -> 8564[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8564 -> 4730[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 1807[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1807 -> 1982[label="",style="solid", color="black", weight=3]; 101.93/62.92 1808[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1808 -> 1983[label="",style="solid", color="black", weight=3]; 101.93/62.92 1809[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1809 -> 1984[label="",style="solid", color="black", weight=3]; 101.93/62.92 1810[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1810 -> 1985[label="",style="solid", color="black", weight=3]; 101.93/62.92 7088 -> 7698[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7088[label="signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) vuz4140 == GT)",fontsize=16,color="magenta"];7088 -> 7699[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7088 -> 7700[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7088 -> 7701[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7089[label="signumReal1 (Pos (Succ vuz900)) (GT == GT)",fontsize=16,color="black",shape="triangle"];7089 -> 7141[label="",style="solid", color="black", weight=3]; 101.93/62.92 7090[label="signumReal1 (Pos Zero) (primCmpNat Zero (Succ vuz41300) == GT)",fontsize=16,color="black",shape="box"];7090 -> 7142[label="",style="solid", color="black", weight=3]; 101.93/62.92 7091[label="signumReal1 (Pos Zero) (EQ == GT)",fontsize=16,color="black",shape="triangle"];7091 -> 7143[label="",style="solid", color="black", weight=3]; 101.93/62.92 7092[label="signumReal1 (Pos Zero) (GT == GT)",fontsize=16,color="black",shape="box"];7092 -> 7144[label="",style="solid", color="black", weight=3]; 101.93/62.92 7093 -> 7091[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7093[label="signumReal1 (Pos Zero) (EQ == GT)",fontsize=16,color="magenta"];4463[label="primRemInt (Pos vuz1560) (Pos vuz1550)",fontsize=16,color="burlywood",shape="box"];8565[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4463 -> 8565[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8565 -> 4738[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8566[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4463 -> 8566[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8566 -> 4739[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4464[label="primRemInt (Pos vuz1560) (Neg vuz1550)",fontsize=16,color="burlywood",shape="box"];8567[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4464 -> 8567[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8567 -> 4740[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8568[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4464 -> 8568[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8568 -> 4741[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4465[label="primRemInt (Neg vuz1560) (Pos vuz1550)",fontsize=16,color="burlywood",shape="box"];8569[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4465 -> 8569[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8569 -> 4742[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8570[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4465 -> 8570[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8570 -> 4743[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4466[label="primRemInt (Neg vuz1560) (Neg vuz1550)",fontsize=16,color="burlywood",shape="box"];8571[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4466 -> 8571[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8571 -> 4744[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8572[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4466 -> 8572[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8572 -> 4745[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7805[label="vuz4520",fontsize=16,color="green",shape="box"];7806[label="vuz4530",fontsize=16,color="green",shape="box"];7102[label="Pos Zero",fontsize=16,color="green",shape="box"];7103[label="signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) vuz427 == GT)",fontsize=16,color="black",shape="box"];7103 -> 7152[label="",style="solid", color="black", weight=3]; 101.93/62.92 7322[label="signumReal1 (Neg Zero) (LT == GT)",fontsize=16,color="black",shape="box"];7322 -> 7338[label="",style="solid", color="black", weight=3]; 101.93/62.92 7323[label="signumReal1 (Neg Zero) (EQ == GT)",fontsize=16,color="black",shape="triangle"];7323 -> 7339[label="",style="solid", color="black", weight=3]; 101.93/62.92 7324[label="signumReal1 (Neg Zero) (primCmpNat (Succ vuz43100) Zero == GT)",fontsize=16,color="black",shape="box"];7324 -> 7340[label="",style="solid", color="black", weight=3]; 101.93/62.92 7325 -> 7323[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7325[label="signumReal1 (Neg Zero) (EQ == GT)",fontsize=16,color="magenta"];1837[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1837 -> 2012[label="",style="solid", color="black", weight=3]; 101.93/62.92 1838[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1838 -> 2013[label="",style="solid", color="black", weight=3]; 101.93/62.92 4829[label="Integer vuz268 `quot` gcd0Gcd'2 (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="box"];4829 -> 4833[label="",style="solid", color="black", weight=3]; 101.93/62.92 6276[label="Integer vuz268 `quot` gcd0 (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6276 -> 6976[label="",style="solid", color="black", weight=3]; 101.93/62.92 6277[label="Integer vuz268 `quot` error []",fontsize=16,color="black",shape="triangle"];6277 -> 6977[label="",style="solid", color="black", weight=3]; 101.93/62.92 4720 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4720[label="primEqInt (primMulInt vuz8 (Neg (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];4720 -> 4773[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4720 -> 4774[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4721[label="Integer vuz268 `quot` gcd0 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4721 -> 4775[label="",style="solid", color="black", weight=3]; 101.93/62.92 4722 -> 6053[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4722[label="Integer vuz268 `quot` gcd1 (Integer vuz269 == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="magenta"];4722 -> 6098[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4722 -> 6099[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4808[label="Pos Zero",fontsize=16,color="green",shape="box"];4809[label="Pos Zero",fontsize=16,color="green",shape="box"];4810[label="Pos Zero",fontsize=16,color="green",shape="box"];4811[label="Neg Zero",fontsize=16,color="green",shape="box"];4812[label="Pos Zero",fontsize=16,color="green",shape="box"];4813[label="Pos Zero",fontsize=16,color="green",shape="box"];1853[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1853 -> 2030[label="",style="solid", color="black", weight=3]; 101.93/62.92 4814[label="Pos Zero",fontsize=16,color="green",shape="box"];4815[label="Neg Zero",fontsize=16,color="green",shape="box"];4816[label="Neg Zero",fontsize=16,color="green",shape="box"];4817[label="Neg Zero",fontsize=16,color="green",shape="box"];4818[label="Neg Zero",fontsize=16,color="green",shape="box"];4819[label="Neg Zero",fontsize=16,color="green",shape="box"];4276[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal2 (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];4276 -> 4748[label="",style="solid", color="black", weight=3]; 101.93/62.92 4277 -> 4749[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4277[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4277 -> 4750[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4278[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal2 (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];4278 -> 4777[label="",style="solid", color="black", weight=3]; 101.93/62.92 4279 -> 4778[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4279[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4279 -> 4779[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 1961[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1961 -> 2271[label="",style="solid", color="black", weight=3]; 101.93/62.92 1962[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1962 -> 2272[label="",style="solid", color="black", weight=3]; 101.93/62.92 1963[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1963 -> 2273[label="",style="solid", color="black", weight=3]; 101.93/62.92 1964[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1964 -> 2274[label="",style="solid", color="black", weight=3]; 101.93/62.92 4723[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4723 -> 4786[label="",style="solid", color="black", weight=3]; 101.93/62.92 4724[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];4725[label="Integer (Neg vuz216) `quot` gcd1 False (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4725 -> 4787[label="",style="solid", color="black", weight=3]; 101.93/62.92 4726[label="Integer (Neg vuz216) `quot` gcd1 True (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4726 -> 4788[label="",style="solid", color="black", weight=3]; 101.93/62.92 4727[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4727 -> 4789[label="",style="solid", color="black", weight=3]; 101.93/62.92 4728[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];4729[label="Integer (Pos vuz226) `quot` gcd1 False (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4729 -> 4790[label="",style="solid", color="black", weight=3]; 101.93/62.92 4730[label="Integer (Pos vuz226) `quot` gcd1 True (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4730 -> 4791[label="",style="solid", color="black", weight=3]; 101.93/62.92 1982[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1982 -> 2304[label="",style="solid", color="black", weight=3]; 101.93/62.92 1983[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1983 -> 2305[label="",style="solid", color="black", weight=3]; 101.93/62.92 1984[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1984 -> 2306[label="",style="solid", color="black", weight=3]; 101.93/62.92 1985[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1985 -> 2307[label="",style="solid", color="black", weight=3]; 101.93/62.92 7699[label="vuz900",fontsize=16,color="green",shape="box"];7700[label="vuz4140",fontsize=16,color="green",shape="box"];7701[label="Succ vuz900",fontsize=16,color="green",shape="box"];7698[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat vuz458 vuz459 == GT)",fontsize=16,color="burlywood",shape="triangle"];8573[label="vuz458/Succ vuz4580",fontsize=10,color="white",style="solid",shape="box"];7698 -> 8573[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8573 -> 7722[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8574[label="vuz458/Zero",fontsize=10,color="white",style="solid",shape="box"];7698 -> 8574[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8574 -> 7723[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7141[label="signumReal1 (Pos (Succ vuz900)) True",fontsize=16,color="black",shape="box"];7141 -> 7179[label="",style="solid", color="black", weight=3]; 101.93/62.92 7142[label="signumReal1 (Pos Zero) (LT == GT)",fontsize=16,color="black",shape="box"];7142 -> 7180[label="",style="solid", color="black", weight=3]; 101.93/62.92 7143[label="signumReal1 (Pos Zero) False",fontsize=16,color="black",shape="triangle"];7143 -> 7181[label="",style="solid", color="black", weight=3]; 101.93/62.92 7144[label="signumReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];7144 -> 7182[label="",style="solid", color="black", weight=3]; 101.93/62.92 4738[label="primRemInt (Pos vuz1560) (Pos (Succ vuz15500))",fontsize=16,color="black",shape="box"];4738 -> 4842[label="",style="solid", color="black", weight=3]; 101.93/62.92 4739[label="primRemInt (Pos vuz1560) (Pos Zero)",fontsize=16,color="black",shape="box"];4739 -> 4843[label="",style="solid", color="black", weight=3]; 101.93/62.92 4740[label="primRemInt (Pos vuz1560) (Neg (Succ vuz15500))",fontsize=16,color="black",shape="box"];4740 -> 4844[label="",style="solid", color="black", weight=3]; 101.93/62.92 4741[label="primRemInt (Pos vuz1560) (Neg Zero)",fontsize=16,color="black",shape="box"];4741 -> 4845[label="",style="solid", color="black", weight=3]; 101.93/62.92 4742[label="primRemInt (Neg vuz1560) (Pos (Succ vuz15500))",fontsize=16,color="black",shape="box"];4742 -> 4846[label="",style="solid", color="black", weight=3]; 101.93/62.92 4743[label="primRemInt (Neg vuz1560) (Pos Zero)",fontsize=16,color="black",shape="box"];4743 -> 4847[label="",style="solid", color="black", weight=3]; 101.93/62.92 4744[label="primRemInt (Neg vuz1560) (Neg (Succ vuz15500))",fontsize=16,color="black",shape="box"];4744 -> 4848[label="",style="solid", color="black", weight=3]; 101.93/62.92 4745[label="primRemInt (Neg vuz1560) (Neg Zero)",fontsize=16,color="black",shape="box"];4745 -> 4849[label="",style="solid", color="black", weight=3]; 101.93/62.92 7152[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) vuz427 == GT)",fontsize=16,color="burlywood",shape="box"];8575[label="vuz427/Pos vuz4270",fontsize=10,color="white",style="solid",shape="box"];7152 -> 8575[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8575 -> 7190[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8576[label="vuz427/Neg vuz4270",fontsize=10,color="white",style="solid",shape="box"];7152 -> 8576[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8576 -> 7191[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7338[label="signumReal1 (Neg Zero) False",fontsize=16,color="black",shape="triangle"];7338 -> 7344[label="",style="solid", color="black", weight=3]; 101.93/62.92 7339 -> 7338[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7339[label="signumReal1 (Neg Zero) False",fontsize=16,color="magenta"];7340[label="signumReal1 (Neg Zero) (GT == GT)",fontsize=16,color="black",shape="box"];7340 -> 7345[label="",style="solid", color="black", weight=3]; 101.93/62.92 2012 -> 5797[label="",style="dashed", color="red", weight=0]; 101.93/62.92 2012[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];2012 -> 5806[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 2012 -> 5807[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 2013 -> 5931[label="",style="dashed", color="red", weight=0]; 101.93/62.92 2013[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];2013 -> 5940[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 2013 -> 5941[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4833[label="Integer vuz268 `quot` gcd0Gcd'1 (abs (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="box"];4833 -> 5323[label="",style="solid", color="black", weight=3]; 101.93/62.92 6976 -> 4807[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6976[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer vuz299)) (abs (Integer vuz269))",fontsize=16,color="magenta"];6976 -> 7032[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6977[label="error []",fontsize=16,color="red",shape="box"];4773[label="Pos Zero",fontsize=16,color="green",shape="box"];4774[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];8577[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];4774 -> 8577[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8577 -> 4805[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8578[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];4774 -> 8578[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8578 -> 4806[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4775 -> 4807[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4775[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer (primMulInt vuz8 (Neg (Succ Zero))))) (abs (Integer vuz269))",fontsize=16,color="magenta"];4775 -> 4826[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6098 -> 4774[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6098[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="magenta"];6099[label="Integer vuz269 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];6099 -> 6202[label="",style="solid", color="black", weight=3]; 101.93/62.92 2030 -> 4467[label="",style="dashed", color="red", weight=0]; 101.93/62.92 2030[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="magenta"];2030 -> 4482[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 2030 -> 4483[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 2030 -> 4484[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4748[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (abs (Integer (Pos (Succ vuz196))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (abs (Integer (Pos (Succ vuz196))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4748 -> 4857[label="",style="solid", color="black", weight=3]; 101.93/62.92 4750 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4750[label="absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4750 -> 4858[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4749[label="Integer (Pos vuz209) `quot` gcd1 vuz296 (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8579[label="vuz296/False",fontsize=10,color="white",style="solid",shape="box"];4749 -> 8579[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8579 -> 4859[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8580[label="vuz296/True",fontsize=10,color="white",style="solid",shape="box"];4749 -> 8580[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8580 -> 4860[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 4777[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (abs (Integer (Pos (Succ vuz204))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (abs (Integer (Pos (Succ vuz204))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4777 -> 4861[label="",style="solid", color="black", weight=3]; 101.93/62.92 4779 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4779[label="absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4779 -> 4862[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4778[label="Integer (Neg vuz213) `quot` gcd1 vuz297 (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8581[label="vuz297/False",fontsize=10,color="white",style="solid",shape="box"];4778 -> 8581[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8581 -> 4863[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8582[label="vuz297/True",fontsize=10,color="white",style="solid",shape="box"];4778 -> 8582[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8582 -> 4864[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 2271[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2271 -> 3588[label="",style="solid", color="black", weight=3]; 101.93/62.92 2272[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2272 -> 3589[label="",style="solid", color="black", weight=3]; 101.93/62.92 2273[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2273 -> 3590[label="",style="solid", color="black", weight=3]; 101.93/62.92 2274[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2274 -> 3591[label="",style="solid", color="black", weight=3]; 101.93/62.92 4786[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4786 -> 4865[label="",style="solid", color="black", weight=3]; 101.93/62.92 4787[label="Integer (Neg vuz216) `quot` gcd0 (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4787 -> 4866[label="",style="solid", color="black", weight=3]; 101.93/62.92 4788[label="Integer (Neg vuz216) `quot` error []",fontsize=16,color="black",shape="box"];4788 -> 4867[label="",style="solid", color="black", weight=3]; 101.93/62.92 4789[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4789 -> 4868[label="",style="solid", color="black", weight=3]; 101.93/62.92 4790[label="Integer (Pos vuz226) `quot` gcd0 (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4790 -> 4869[label="",style="solid", color="black", weight=3]; 101.93/62.92 4791[label="Integer (Pos vuz226) `quot` error []",fontsize=16,color="black",shape="box"];4791 -> 4870[label="",style="solid", color="black", weight=3]; 101.93/62.92 2304[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2304 -> 3785[label="",style="solid", color="black", weight=3]; 101.93/62.92 2305[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2305 -> 3786[label="",style="solid", color="black", weight=3]; 101.93/62.92 2306[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2306 -> 3787[label="",style="solid", color="black", weight=3]; 101.93/62.92 2307[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2307 -> 3788[label="",style="solid", color="black", weight=3]; 101.93/62.92 7722[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) vuz459 == GT)",fontsize=16,color="burlywood",shape="box"];8583[label="vuz459/Succ vuz4590",fontsize=10,color="white",style="solid",shape="box"];7722 -> 8583[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8583 -> 7750[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8584[label="vuz459/Zero",fontsize=10,color="white",style="solid",shape="box"];7722 -> 8584[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8584 -> 7751[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7723[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero vuz459 == GT)",fontsize=16,color="burlywood",shape="box"];8585[label="vuz459/Succ vuz4590",fontsize=10,color="white",style="solid",shape="box"];7723 -> 8585[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8585 -> 7752[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8586[label="vuz459/Zero",fontsize=10,color="white",style="solid",shape="box"];7723 -> 8586[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8586 -> 7753[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7179 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7179[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7179 -> 7211[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7180 -> 7143[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7180[label="signumReal1 (Pos Zero) False",fontsize=16,color="magenta"];7181[label="signumReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];7181 -> 7212[label="",style="solid", color="black", weight=3]; 101.93/62.92 7182 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7182[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7182 -> 7213[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4842[label="Pos (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4842 -> 5923[label="",style="dashed", color="green", weight=3]; 101.93/62.92 4843 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4843[label="error []",fontsize=16,color="magenta"];4844[label="Pos (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4844 -> 5924[label="",style="dashed", color="green", weight=3]; 101.93/62.92 4845 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4845[label="error []",fontsize=16,color="magenta"];4846[label="Neg (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4846 -> 5925[label="",style="dashed", color="green", weight=3]; 101.93/62.92 4847 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4847[label="error []",fontsize=16,color="magenta"];4848[label="Neg (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4848 -> 5926[label="",style="dashed", color="green", weight=3]; 101.93/62.92 4849 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4849[label="error []",fontsize=16,color="magenta"];7190[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos vuz4270) == GT)",fontsize=16,color="black",shape="box"];7190 -> 7222[label="",style="solid", color="black", weight=3]; 101.93/62.92 7191[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Neg vuz4270) == GT)",fontsize=16,color="black",shape="box"];7191 -> 7223[label="",style="solid", color="black", weight=3]; 101.93/62.92 7344[label="signumReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];7344 -> 7349[label="",style="solid", color="black", weight=3]; 101.93/62.92 7345[label="signumReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];7345 -> 7350[label="",style="solid", color="black", weight=3]; 101.93/62.92 5806 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5806[label="primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];5806 -> 5927[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5806 -> 5928[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5807 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5807[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5807 -> 5929[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5807 -> 5930[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5940 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5940[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5940 -> 6040[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5940 -> 6041[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5941 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5941[label="primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];5941 -> 6042[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5941 -> 6043[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5323[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal (Integer vuz269))",fontsize=16,color="black",shape="box"];5323 -> 6203[label="",style="solid", color="black", weight=3]; 101.93/62.92 7032[label="vuz299",fontsize=16,color="green",shape="box"];4805[label="primMulInt (Pos vuz80) (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];4805 -> 4884[label="",style="solid", color="black", weight=3]; 101.93/62.92 4806[label="primMulInt (Neg vuz80) (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];4806 -> 4885[label="",style="solid", color="black", weight=3]; 101.93/62.92 4826 -> 4774[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4826[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="magenta"];6202[label="Integer vuz269 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];6202 -> 6284[label="",style="solid", color="black", weight=3]; 101.93/62.92 4482 -> 4468[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4482[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4483 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4483[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];4483 -> 4887[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4484 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.92 4484[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];4484 -> 4888[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4857[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4857 -> 5773[label="",style="solid", color="black", weight=3]; 101.93/62.92 4858[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];4859[label="Integer (Pos vuz209) `quot` gcd1 False (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4859 -> 5774[label="",style="solid", color="black", weight=3]; 101.93/62.92 4860[label="Integer (Pos vuz209) `quot` gcd1 True (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4860 -> 5775[label="",style="solid", color="black", weight=3]; 101.93/62.92 4861[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4861 -> 5776[label="",style="solid", color="black", weight=3]; 101.93/62.92 4862[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];4863[label="Integer (Neg vuz213) `quot` gcd1 False (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4863 -> 5777[label="",style="solid", color="black", weight=3]; 101.93/62.92 4864[label="Integer (Neg vuz213) `quot` gcd1 True (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4864 -> 5778[label="",style="solid", color="black", weight=3]; 101.93/62.92 3588[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3588 -> 5779[label="",style="solid", color="black", weight=3]; 101.93/62.92 3589[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3589 -> 5780[label="",style="solid", color="black", weight=3]; 101.93/62.92 3590[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3590 -> 5781[label="",style="solid", color="black", weight=3]; 101.93/62.92 3591[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3591 -> 5782[label="",style="solid", color="black", weight=3]; 101.93/62.92 4865[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4865 -> 5783[label="",style="solid", color="black", weight=3]; 101.93/62.92 4866[label="Integer (Neg vuz216) `quot` gcd0Gcd' (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];4866 -> 5784[label="",style="solid", color="black", weight=3]; 101.93/62.92 4867[label="error []",fontsize=16,color="red",shape="box"];4868[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4868 -> 5785[label="",style="solid", color="black", weight=3]; 101.93/62.92 4869[label="Integer (Pos vuz226) `quot` gcd0Gcd' (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];4869 -> 5786[label="",style="solid", color="black", weight=3]; 101.93/62.92 4870[label="error []",fontsize=16,color="red",shape="box"];3785[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3785 -> 5787[label="",style="solid", color="black", weight=3]; 101.93/62.92 3786[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3786 -> 5788[label="",style="solid", color="black", weight=3]; 101.93/62.92 3787[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3787 -> 5789[label="",style="solid", color="black", weight=3]; 101.93/62.92 3788[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3788 -> 5790[label="",style="solid", color="black", weight=3]; 101.93/62.92 7750[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) (Succ vuz4590) == GT)",fontsize=16,color="black",shape="box"];7750 -> 7780[label="",style="solid", color="black", weight=3]; 101.93/62.92 7751[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) Zero == GT)",fontsize=16,color="black",shape="box"];7751 -> 7781[label="",style="solid", color="black", weight=3]; 101.93/62.92 7752[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero (Succ vuz4590) == GT)",fontsize=16,color="black",shape="box"];7752 -> 7782[label="",style="solid", color="black", weight=3]; 101.93/62.92 7753[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];7753 -> 7783[label="",style="solid", color="black", weight=3]; 101.93/62.92 7211[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7212[label="signumReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];7212 -> 7251[label="",style="solid", color="black", weight=3]; 101.93/62.92 7213[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];5923[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="burlywood",shape="triangle"];8587[label="vuz1560/Succ vuz15600",fontsize=10,color="white",style="solid",shape="box"];5923 -> 8587[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8587 -> 6044[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8588[label="vuz1560/Zero",fontsize=10,color="white",style="solid",shape="box"];5923 -> 8588[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8588 -> 6045[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 5924 -> 5923[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5924[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5924 -> 6046[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5925 -> 5923[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5925[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5925 -> 6047[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5926 -> 5923[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5926[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5926 -> 6048[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5926 -> 6049[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7222[label="signumReal1 (Neg (Succ vuz900)) (LT == GT)",fontsize=16,color="black",shape="triangle"];7222 -> 7264[label="",style="solid", color="black", weight=3]; 101.93/62.92 7223 -> 7812[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7223[label="signumReal1 (Neg (Succ vuz900)) (primCmpNat vuz4270 (Succ vuz900) == GT)",fontsize=16,color="magenta"];7223 -> 7813[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7223 -> 7814[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7223 -> 7815[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7349[label="signumReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];7349 -> 7353[label="",style="solid", color="black", weight=3]; 101.93/62.92 7350 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7350[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7350 -> 7354[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5927[label="Pos Zero",fontsize=16,color="green",shape="box"];5928[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];5928 -> 6050[label="",style="dashed", color="green", weight=3]; 101.93/62.92 5929[label="Succ Zero",fontsize=16,color="green",shape="box"];5930[label="vuz80",fontsize=16,color="green",shape="box"];6040[label="Succ Zero",fontsize=16,color="green",shape="box"];6041[label="vuz80",fontsize=16,color="green",shape="box"];6042[label="Pos Zero",fontsize=16,color="green",shape="box"];6043[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];6043 -> 6204[label="",style="dashed", color="green", weight=3]; 101.93/62.92 6203[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal2 (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal2 (Integer vuz269))",fontsize=16,color="black",shape="box"];6203 -> 6285[label="",style="solid", color="black", weight=3]; 101.93/62.92 4884[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];4884 -> 6051[label="",style="dashed", color="green", weight=3]; 101.93/62.92 4885[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];4885 -> 6052[label="",style="dashed", color="green", weight=3]; 101.93/62.92 6284 -> 2647[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6284[label="primEqInt vuz269 (Pos Zero)",fontsize=16,color="magenta"];6284 -> 6978[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6284 -> 6979[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 4887[label="vuz900",fontsize=16,color="green",shape="box"];4888[label="vuz900",fontsize=16,color="green",shape="box"];5773[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (not (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (not (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5773 -> 6980[label="",style="solid", color="black", weight=3]; 101.93/62.92 5774[label="Integer (Pos vuz209) `quot` gcd0 (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5774 -> 6981[label="",style="solid", color="black", weight=3]; 101.93/62.92 5775 -> 6277[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5775[label="Integer (Pos vuz209) `quot` error []",fontsize=16,color="magenta"];5775 -> 6982[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5776[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (not (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (not (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5776 -> 6983[label="",style="solid", color="black", weight=3]; 101.93/62.92 5777[label="Integer (Neg vuz213) `quot` gcd0 (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5777 -> 6984[label="",style="solid", color="black", weight=3]; 101.93/62.92 5778 -> 6277[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5778[label="Integer (Neg vuz213) `quot` error []",fontsize=16,color="magenta"];5778 -> 6985[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 5779[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5779 -> 6986[label="",style="solid", color="black", weight=3]; 101.93/62.92 5780 -> 1961[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5780[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5781[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5781 -> 6987[label="",style="solid", color="black", weight=3]; 101.93/62.92 5782 -> 1963[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5782[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5783[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5783 -> 6988[label="",style="solid", color="black", weight=3]; 101.93/62.92 5784[label="Integer (Neg vuz216) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];5784 -> 6989[label="",style="solid", color="black", weight=3]; 101.93/62.92 5785[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5785 -> 6990[label="",style="solid", color="black", weight=3]; 101.93/62.92 5786[label="Integer (Pos vuz226) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];5786 -> 6991[label="",style="solid", color="black", weight=3]; 101.93/62.92 5787[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5787 -> 6992[label="",style="solid", color="black", weight=3]; 101.93/62.92 5788 -> 1982[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5788[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5789[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5789 -> 6993[label="",style="solid", color="black", weight=3]; 101.93/62.92 5790 -> 1984[label="",style="dashed", color="red", weight=0]; 101.93/62.92 5790[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7780 -> 7698[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7780[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat vuz4580 vuz4590 == GT)",fontsize=16,color="magenta"];7780 -> 7807[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7780 -> 7808[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7781[label="signumReal1 (Pos (Succ vuz457)) (GT == GT)",fontsize=16,color="black",shape="box"];7781 -> 7809[label="",style="solid", color="black", weight=3]; 101.93/62.92 7782[label="signumReal1 (Pos (Succ vuz457)) (LT == GT)",fontsize=16,color="black",shape="box"];7782 -> 7810[label="",style="solid", color="black", weight=3]; 101.93/62.92 7783[label="signumReal1 (Pos (Succ vuz457)) (EQ == GT)",fontsize=16,color="black",shape="box"];7783 -> 7811[label="",style="solid", color="black", weight=3]; 101.93/62.92 7251 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7251[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7251 -> 7271[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6044[label="primModNatS (Succ vuz15600) (Succ vuz15500)",fontsize=16,color="black",shape="box"];6044 -> 6994[label="",style="solid", color="black", weight=3]; 101.93/62.92 6045[label="primModNatS Zero (Succ vuz15500)",fontsize=16,color="black",shape="box"];6045 -> 6995[label="",style="solid", color="black", weight=3]; 101.93/62.92 6046[label="vuz15500",fontsize=16,color="green",shape="box"];6047[label="vuz1560",fontsize=16,color="green",shape="box"];6048[label="vuz15500",fontsize=16,color="green",shape="box"];6049[label="vuz1560",fontsize=16,color="green",shape="box"];7264[label="signumReal1 (Neg (Succ vuz900)) False",fontsize=16,color="black",shape="triangle"];7264 -> 7296[label="",style="solid", color="black", weight=3]; 101.93/62.92 7813[label="vuz4270",fontsize=16,color="green",shape="box"];7814[label="vuz900",fontsize=16,color="green",shape="box"];7815[label="Succ vuz900",fontsize=16,color="green",shape="box"];7812[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat vuz462 vuz463 == GT)",fontsize=16,color="burlywood",shape="triangle"];8589[label="vuz462/Succ vuz4620",fontsize=10,color="white",style="solid",shape="box"];7812 -> 8589[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8589 -> 7834[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8590[label="vuz462/Zero",fontsize=10,color="white",style="solid",shape="box"];7812 -> 8590[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8590 -> 7835[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7353 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7353[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7353 -> 7401[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7354[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];6050 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6050[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6050 -> 6996[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6050 -> 6997[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6204 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6204[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6204 -> 6998[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6204 -> 6999[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6285[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (Integer vuz269 >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (Integer vuz269 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];6285 -> 7000[label="",style="solid", color="black", weight=3]; 101.93/62.92 6051 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6051[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6051 -> 7001[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6051 -> 7002[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6052 -> 4436[label="",style="dashed", color="red", weight=0]; 101.93/62.92 6052[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6052 -> 7003[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6052 -> 7004[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 6978[label="Pos Zero",fontsize=16,color="green",shape="box"];6979[label="vuz269",fontsize=16,color="green",shape="box"];6980[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos (Succ vuz196)))) (not (compare (absReal (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal (Integer (Pos (Succ vuz196)))) (not (compare (absReal (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6980 -> 7033[label="",style="solid", color="black", weight=3]; 101.93/62.92 6981[label="Integer (Pos vuz209) `quot` gcd0Gcd' (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6981 -> 7034[label="",style="solid", color="black", weight=3]; 101.93/62.92 6982[label="Pos vuz209",fontsize=16,color="green",shape="box"];6983[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos (Succ vuz204)))) (not (compare (absReal (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal (Integer (Pos (Succ vuz204)))) (not (compare (absReal (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6983 -> 7035[label="",style="solid", color="black", weight=3]; 101.93/62.92 6984[label="Integer (Neg vuz213) `quot` gcd0Gcd' (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6984 -> 7036[label="",style="solid", color="black", weight=3]; 101.93/62.92 6985[label="Neg vuz213",fontsize=16,color="green",shape="box"];6986[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6986 -> 7037[label="",style="solid", color="black", weight=3]; 101.93/62.92 6987[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6987 -> 7038[label="",style="solid", color="black", weight=3]; 101.93/62.92 6988[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6988 -> 7039[label="",style="solid", color="black", weight=3]; 101.93/62.92 6989[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6989 -> 7040[label="",style="solid", color="black", weight=3]; 101.93/62.92 6990[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6990 -> 7041[label="",style="solid", color="black", weight=3]; 101.93/62.92 6991[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6991 -> 7042[label="",style="solid", color="black", weight=3]; 101.93/62.92 6992[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6992 -> 7043[label="",style="solid", color="black", weight=3]; 101.93/62.92 6993[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6993 -> 7044[label="",style="solid", color="black", weight=3]; 101.93/62.92 7807[label="vuz4590",fontsize=16,color="green",shape="box"];7808[label="vuz4580",fontsize=16,color="green",shape="box"];7809[label="signumReal1 (Pos (Succ vuz457)) True",fontsize=16,color="black",shape="box"];7809 -> 7836[label="",style="solid", color="black", weight=3]; 101.93/62.92 7810[label="signumReal1 (Pos (Succ vuz457)) False",fontsize=16,color="black",shape="triangle"];7810 -> 7837[label="",style="solid", color="black", weight=3]; 101.93/62.92 7811 -> 7810[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7811[label="signumReal1 (Pos (Succ vuz457)) False",fontsize=16,color="magenta"];7271[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];6994[label="primModNatS0 vuz15600 vuz15500 (primGEqNatS vuz15600 vuz15500)",fontsize=16,color="burlywood",shape="box"];8591[label="vuz15600/Succ vuz156000",fontsize=10,color="white",style="solid",shape="box"];6994 -> 8591[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8591 -> 7045[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8592[label="vuz15600/Zero",fontsize=10,color="white",style="solid",shape="box"];6994 -> 8592[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8592 -> 7046[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 6995[label="Zero",fontsize=16,color="green",shape="box"];7296[label="signumReal0 (Neg (Succ vuz900)) otherwise",fontsize=16,color="black",shape="box"];7296 -> 7326[label="",style="solid", color="black", weight=3]; 101.93/62.92 7834[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) vuz463 == GT)",fontsize=16,color="burlywood",shape="box"];8593[label="vuz463/Succ vuz4630",fontsize=10,color="white",style="solid",shape="box"];7834 -> 8593[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8593 -> 7843[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8594[label="vuz463/Zero",fontsize=10,color="white",style="solid",shape="box"];7834 -> 8594[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8594 -> 7844[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7835[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero vuz463 == GT)",fontsize=16,color="burlywood",shape="box"];8595[label="vuz463/Succ vuz4630",fontsize=10,color="white",style="solid",shape="box"];7835 -> 8595[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8595 -> 7845[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8596[label="vuz463/Zero",fontsize=10,color="white",style="solid",shape="box"];7835 -> 8596[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8596 -> 7846[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7401[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];6996[label="Succ Zero",fontsize=16,color="green",shape="box"];6997[label="vuz80",fontsize=16,color="green",shape="box"];6998[label="Succ Zero",fontsize=16,color="green",shape="box"];6999[label="vuz80",fontsize=16,color="green",shape="box"];7000[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (compare (Integer vuz269) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (compare (Integer vuz269) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7000 -> 7047[label="",style="solid", color="black", weight=3]; 101.93/62.92 7001[label="Succ Zero",fontsize=16,color="green",shape="box"];7002[label="vuz80",fontsize=16,color="green",shape="box"];7003[label="Succ Zero",fontsize=16,color="green",shape="box"];7004[label="vuz80",fontsize=16,color="green",shape="box"];7033[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos (Succ vuz196)))) (not (compare (absReal2 (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal2 (Integer (Pos (Succ vuz196)))) (not (compare (absReal2 (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7033 -> 7104[label="",style="solid", color="black", weight=3]; 101.93/62.92 7034[label="Integer (Pos vuz209) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7034 -> 7105[label="",style="solid", color="black", weight=3]; 101.93/62.92 7035[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos (Succ vuz204)))) (not (compare (absReal2 (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal2 (Integer (Pos (Succ vuz204)))) (not (compare (absReal2 (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7035 -> 7106[label="",style="solid", color="black", weight=3]; 101.93/62.92 7036[label="Integer (Neg vuz213) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7036 -> 7107[label="",style="solid", color="black", weight=3]; 101.93/62.92 7037[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7037 -> 7108[label="",style="solid", color="black", weight=3]; 101.93/62.92 7038[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7038 -> 7109[label="",style="solid", color="black", weight=3]; 101.93/62.92 7039[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7039 -> 7110[label="",style="solid", color="black", weight=3]; 101.93/62.92 7040[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7040 -> 7111[label="",style="solid", color="black", weight=3]; 101.93/62.92 7041[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7041 -> 7112[label="",style="solid", color="black", weight=3]; 101.93/62.92 7042[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7042 -> 7113[label="",style="solid", color="black", weight=3]; 101.93/62.92 7043[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7043 -> 7114[label="",style="solid", color="black", weight=3]; 101.93/62.92 7044[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7044 -> 7115[label="",style="solid", color="black", weight=3]; 101.93/62.92 7836[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8597[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8597[label="",style="solid", color="blue", weight=9]; 101.93/62.92 8597 -> 7847[label="",style="solid", color="blue", weight=3]; 101.93/62.92 8598[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8598[label="",style="solid", color="blue", weight=9]; 101.93/62.92 8598 -> 7848[label="",style="solid", color="blue", weight=3]; 101.93/62.92 8599[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8599[label="",style="solid", color="blue", weight=9]; 101.93/62.92 8599 -> 7849[label="",style="solid", color="blue", weight=3]; 101.93/62.92 8600[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8600[label="",style="solid", color="blue", weight=9]; 101.93/62.92 8600 -> 7850[label="",style="solid", color="blue", weight=3]; 101.93/62.92 8601[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8601[label="",style="solid", color="blue", weight=9]; 101.93/62.92 8601 -> 7851[label="",style="solid", color="blue", weight=3]; 101.93/62.92 7837[label="signumReal0 (Pos (Succ vuz457)) otherwise",fontsize=16,color="black",shape="box"];7837 -> 7852[label="",style="solid", color="black", weight=3]; 101.93/62.92 7045[label="primModNatS0 (Succ vuz156000) vuz15500 (primGEqNatS (Succ vuz156000) vuz15500)",fontsize=16,color="burlywood",shape="box"];8602[label="vuz15500/Succ vuz155000",fontsize=10,color="white",style="solid",shape="box"];7045 -> 8602[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8602 -> 7116[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8603[label="vuz15500/Zero",fontsize=10,color="white",style="solid",shape="box"];7045 -> 8603[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8603 -> 7117[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7046[label="primModNatS0 Zero vuz15500 (primGEqNatS Zero vuz15500)",fontsize=16,color="burlywood",shape="box"];8604[label="vuz15500/Succ vuz155000",fontsize=10,color="white",style="solid",shape="box"];7046 -> 8604[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8604 -> 7118[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 8605[label="vuz15500/Zero",fontsize=10,color="white",style="solid",shape="box"];7046 -> 8605[label="",style="solid", color="burlywood", weight=9]; 101.93/62.92 8605 -> 7119[label="",style="solid", color="burlywood", weight=3]; 101.93/62.92 7326[label="signumReal0 (Neg (Succ vuz900)) True",fontsize=16,color="black",shape="box"];7326 -> 7357[label="",style="solid", color="black", weight=3]; 101.93/62.92 7843[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) (Succ vuz4630) == GT)",fontsize=16,color="black",shape="box"];7843 -> 7855[label="",style="solid", color="black", weight=3]; 101.93/62.92 7844[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) Zero == GT)",fontsize=16,color="black",shape="box"];7844 -> 7856[label="",style="solid", color="black", weight=3]; 101.93/62.92 7845[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero (Succ vuz4630) == GT)",fontsize=16,color="black",shape="box"];7845 -> 7857[label="",style="solid", color="black", weight=3]; 101.93/62.92 7846[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];7846 -> 7858[label="",style="solid", color="black", weight=3]; 101.93/62.92 7047 -> 7120[label="",style="dashed", color="red", weight=0]; 101.93/62.92 7047[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7047 -> 7121[label="",style="dashed", color="magenta", weight=3]; 101.93/62.92 7104[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7104 -> 7153[label="",style="solid", color="black", weight=3]; 101.93/62.92 7105[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7105 -> 7154[label="",style="solid", color="black", weight=3]; 101.93/62.92 7106[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7106 -> 7155[label="",style="solid", color="black", weight=3]; 101.93/62.93 7107[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7107 -> 7156[label="",style="solid", color="black", weight=3]; 101.93/62.93 7108 -> 7120[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7108[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7108 -> 7122[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7108 -> 7123[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7108 -> 7124[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7108 -> 7125[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7109 -> 7120[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7109[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7109 -> 7126[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7109 -> 7127[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7109 -> 7128[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7109 -> 7129[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7110[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7110 -> 7157[label="",style="solid", color="black", weight=3]; 101.93/62.93 7111[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7111 -> 7158[label="",style="solid", color="black", weight=3]; 101.93/62.93 7112[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7112 -> 7159[label="",style="solid", color="black", weight=3]; 101.93/62.93 7113[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7113 -> 7160[label="",style="solid", color="black", weight=3]; 101.93/62.93 7114 -> 7120[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7114[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7114 -> 7130[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7114 -> 7131[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7114 -> 7132[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7114 -> 7133[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7115 -> 7120[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7115[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7115 -> 7134[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7115 -> 7135[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7115 -> 7136[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7115 -> 7137[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7847[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7847 -> 7859[label="",style="solid", color="black", weight=3]; 101.93/62.93 7848[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7848 -> 7860[label="",style="solid", color="black", weight=3]; 101.93/62.93 7849[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7849 -> 7861[label="",style="solid", color="black", weight=3]; 101.93/62.93 7850[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7850 -> 7862[label="",style="solid", color="black", weight=3]; 101.93/62.93 7851 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7851[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7851 -> 7863[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7852[label="signumReal0 (Pos (Succ vuz457)) True",fontsize=16,color="black",shape="box"];7852 -> 7864[label="",style="solid", color="black", weight=3]; 101.93/62.93 7116[label="primModNatS0 (Succ vuz156000) (Succ vuz155000) (primGEqNatS (Succ vuz156000) (Succ vuz155000))",fontsize=16,color="black",shape="box"];7116 -> 7161[label="",style="solid", color="black", weight=3]; 101.93/62.93 7117[label="primModNatS0 (Succ vuz156000) Zero (primGEqNatS (Succ vuz156000) Zero)",fontsize=16,color="black",shape="box"];7117 -> 7162[label="",style="solid", color="black", weight=3]; 101.93/62.93 7118[label="primModNatS0 Zero (Succ vuz155000) (primGEqNatS Zero (Succ vuz155000))",fontsize=16,color="black",shape="box"];7118 -> 7163[label="",style="solid", color="black", weight=3]; 101.93/62.93 7119[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7119 -> 7164[label="",style="solid", color="black", weight=3]; 101.93/62.93 7357 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7357[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7357 -> 7403[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7855 -> 7812[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7855[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat vuz4620 vuz4630 == GT)",fontsize=16,color="magenta"];7855 -> 7879[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7855 -> 7880[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7856[label="signumReal1 (Neg (Succ vuz461)) (GT == GT)",fontsize=16,color="black",shape="box"];7856 -> 7881[label="",style="solid", color="black", weight=3]; 101.93/62.93 7857[label="signumReal1 (Neg (Succ vuz461)) (LT == GT)",fontsize=16,color="black",shape="box"];7857 -> 7882[label="",style="solid", color="black", weight=3]; 101.93/62.93 7858[label="signumReal1 (Neg (Succ vuz461)) (EQ == GT)",fontsize=16,color="black",shape="box"];7858 -> 7883[label="",style="solid", color="black", weight=3]; 101.93/62.93 7121 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7121[label="absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7121 -> 7165[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7120[label="Integer vuz268 `quot` gcd0Gcd'1 vuz428 (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8606[label="vuz428/False",fontsize=10,color="white",style="solid",shape="box"];7120 -> 8606[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8606 -> 7166[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8607[label="vuz428/True",fontsize=10,color="white",style="solid",shape="box"];7120 -> 8607[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8607 -> 7167[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7153[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7153 -> 7192[label="",style="solid", color="black", weight=3]; 101.93/62.93 7154[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7154 -> 7193[label="",style="solid", color="black", weight=3]; 101.93/62.93 7155[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7155 -> 7194[label="",style="solid", color="black", weight=3]; 101.93/62.93 7156[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7156 -> 7195[label="",style="solid", color="black", weight=3]; 101.93/62.93 7122[label="Pos Zero",fontsize=16,color="green",shape="box"];7123[label="Pos Zero",fontsize=16,color="green",shape="box"];7124[label="Pos Zero",fontsize=16,color="green",shape="box"];7125 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7125[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7125 -> 7168[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7126[label="Neg Zero",fontsize=16,color="green",shape="box"];7127[label="Pos Zero",fontsize=16,color="green",shape="box"];7128[label="Neg Zero",fontsize=16,color="green",shape="box"];7129 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7129[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7129 -> 7169[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7157[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7157 -> 7196[label="",style="solid", color="black", weight=3]; 101.93/62.93 7158[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7158 -> 7197[label="",style="solid", color="black", weight=3]; 101.93/62.93 7159[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7159 -> 7198[label="",style="solid", color="black", weight=3]; 101.93/62.93 7160[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7160 -> 7199[label="",style="solid", color="black", weight=3]; 101.93/62.93 7130[label="Pos Zero",fontsize=16,color="green",shape="box"];7131[label="Neg Zero",fontsize=16,color="green",shape="box"];7132[label="Pos Zero",fontsize=16,color="green",shape="box"];7133 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7133[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7133 -> 7170[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7134[label="Neg Zero",fontsize=16,color="green",shape="box"];7135[label="Neg Zero",fontsize=16,color="green",shape="box"];7136[label="Neg Zero",fontsize=16,color="green",shape="box"];7137 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7137[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7137 -> 7171[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7859[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7859 -> 7884[label="",style="solid", color="black", weight=3]; 101.93/62.93 7860[label="primIntToDouble (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7860 -> 7885[label="",style="solid", color="black", weight=3]; 101.93/62.93 7861[label="primIntToFloat (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7861 -> 7886[label="",style="solid", color="black", weight=3]; 101.93/62.93 7862[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7863[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7864[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8608[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8608[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8608 -> 7887[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8609[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8609[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8609 -> 7888[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8610[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8610[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8610 -> 7889[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8611[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8611[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8611 -> 7890[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8612[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8612[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8612 -> 7891[label="",style="solid", color="blue", weight=3]; 101.93/62.93 7161 -> 8098[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7161[label="primModNatS0 (Succ vuz156000) (Succ vuz155000) (primGEqNatS vuz156000 vuz155000)",fontsize=16,color="magenta"];7161 -> 8099[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7161 -> 8100[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7161 -> 8101[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7161 -> 8102[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7162[label="primModNatS0 (Succ vuz156000) Zero True",fontsize=16,color="black",shape="box"];7162 -> 7202[label="",style="solid", color="black", weight=3]; 101.93/62.93 7163[label="primModNatS0 Zero (Succ vuz155000) False",fontsize=16,color="black",shape="box"];7163 -> 7203[label="",style="solid", color="black", weight=3]; 101.93/62.93 7164[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];7164 -> 7204[label="",style="solid", color="black", weight=3]; 101.93/62.93 7403[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7879[label="vuz4620",fontsize=16,color="green",shape="box"];7880[label="vuz4630",fontsize=16,color="green",shape="box"];7881[label="signumReal1 (Neg (Succ vuz461)) True",fontsize=16,color="black",shape="box"];7881 -> 7908[label="",style="solid", color="black", weight=3]; 101.93/62.93 7882[label="signumReal1 (Neg (Succ vuz461)) False",fontsize=16,color="black",shape="triangle"];7882 -> 7909[label="",style="solid", color="black", weight=3]; 101.93/62.93 7883 -> 7882[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7883[label="signumReal1 (Neg (Succ vuz461)) False",fontsize=16,color="magenta"];7165[label="vuz269",fontsize=16,color="green",shape="box"];7166[label="Integer vuz268 `quot` gcd0Gcd'1 False (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7166 -> 7205[label="",style="solid", color="black", weight=3]; 101.93/62.93 7167[label="Integer vuz268 `quot` gcd0Gcd'1 True (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7167 -> 7206[label="",style="solid", color="black", weight=3]; 101.93/62.93 7192[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7192 -> 7224[label="",style="solid", color="black", weight=3]; 101.93/62.93 7193[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal2 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7193 -> 7225[label="",style="solid", color="black", weight=3]; 101.93/62.93 7194[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7194 -> 7226[label="",style="solid", color="black", weight=3]; 101.93/62.93 7195[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal2 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7195 -> 7227[label="",style="solid", color="black", weight=3]; 101.93/62.93 7168[label="Pos Zero",fontsize=16,color="green",shape="box"];7169[label="Pos Zero",fontsize=16,color="green",shape="box"];7196[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7196 -> 7228[label="",style="solid", color="black", weight=3]; 101.93/62.93 7197[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7197 -> 7229[label="",style="solid", color="black", weight=3]; 101.93/62.93 7198[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7198 -> 7230[label="",style="solid", color="black", weight=3]; 101.93/62.93 7199[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7199 -> 7231[label="",style="solid", color="black", weight=3]; 101.93/62.93 7170[label="Neg Zero",fontsize=16,color="green",shape="box"];7171[label="Neg Zero",fontsize=16,color="green",shape="box"];7884[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7884 -> 7910[label="",style="dashed", color="green", weight=3]; 101.93/62.93 7884 -> 7911[label="",style="dashed", color="green", weight=3]; 101.93/62.93 7885[label="Double (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7886[label="Float (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7887[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7887 -> 7912[label="",style="solid", color="black", weight=3]; 101.93/62.93 7888[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7888 -> 7913[label="",style="solid", color="black", weight=3]; 101.93/62.93 7889[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7889 -> 7914[label="",style="solid", color="black", weight=3]; 101.93/62.93 7890[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7890 -> 7915[label="",style="solid", color="black", weight=3]; 101.93/62.93 7891 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7891[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7891 -> 7916[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8099[label="vuz155000",fontsize=16,color="green",shape="box"];8100[label="vuz156000",fontsize=16,color="green",shape="box"];8101[label="vuz155000",fontsize=16,color="green",shape="box"];8102[label="vuz156000",fontsize=16,color="green",shape="box"];8098[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS vuz490 vuz491)",fontsize=16,color="burlywood",shape="triangle"];8613[label="vuz490/Succ vuz4900",fontsize=10,color="white",style="solid",shape="box"];8098 -> 8613[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8613 -> 8139[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8614[label="vuz490/Zero",fontsize=10,color="white",style="solid",shape="box"];8098 -> 8614[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8614 -> 8140[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7202 -> 5923[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7202[label="primModNatS (primMinusNatS (Succ vuz156000) Zero) (Succ Zero)",fontsize=16,color="magenta"];7202 -> 7236[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7202 -> 7237[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7203[label="Succ Zero",fontsize=16,color="green",shape="box"];7204 -> 5923[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7204[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];7204 -> 7238[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7204 -> 7239[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7908[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8615[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8615[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8615 -> 7930[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8616[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8616[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8616 -> 7931[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8617[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8617[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8617 -> 7932[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8618[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8618[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8618 -> 7933[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8619[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8619[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8619 -> 7934[label="",style="solid", color="blue", weight=3]; 101.93/62.93 7909[label="signumReal0 (Neg (Succ vuz461)) otherwise",fontsize=16,color="black",shape="box"];7909 -> 7935[label="",style="solid", color="black", weight=3]; 101.93/62.93 7205[label="Integer vuz268 `quot` gcd0Gcd'0 (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7205 -> 7240[label="",style="solid", color="black", weight=3]; 101.93/62.93 7206[label="Integer vuz268 `quot` abs (Integer vuz298)",fontsize=16,color="black",shape="box"];7206 -> 7241[label="",style="solid", color="black", weight=3]; 101.93/62.93 7224[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7224 -> 7278[label="",style="solid", color="black", weight=3]; 101.93/62.93 7225[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7225 -> 7279[label="",style="solid", color="black", weight=3]; 101.93/62.93 7226[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7226 -> 7280[label="",style="solid", color="black", weight=3]; 101.93/62.93 7227[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7227 -> 7281[label="",style="solid", color="black", weight=3]; 101.93/62.93 7228[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7228 -> 7282[label="",style="solid", color="black", weight=3]; 101.93/62.93 7229 -> 7110[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7229[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7230[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7230 -> 7283[label="",style="solid", color="black", weight=3]; 101.93/62.93 7231 -> 7112[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7231[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7910[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8620[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];7910 -> 8620[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8620 -> 7936[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8621[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7910 -> 8621[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8621 -> 7937[label="",style="solid", color="blue", weight=3]; 101.93/62.93 7911[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8622[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7911 -> 8622[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8622 -> 7938[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8623[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7911 -> 8623[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8623 -> 7939[label="",style="solid", color="blue", weight=3]; 101.93/62.93 7912[label="intToRatio (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7912 -> 7940[label="",style="solid", color="black", weight=3]; 101.93/62.93 7913[label="primIntToDouble (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7913 -> 7941[label="",style="solid", color="black", weight=3]; 101.93/62.93 7914[label="primIntToFloat (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7914 -> 7942[label="",style="solid", color="black", weight=3]; 101.93/62.93 7915[label="Integer (Neg (Succ Zero))",fontsize=16,color="green",shape="box"];7916[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];8139[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) vuz491)",fontsize=16,color="burlywood",shape="box"];8624[label="vuz491/Succ vuz4910",fontsize=10,color="white",style="solid",shape="box"];8139 -> 8624[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8624 -> 8145[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8625[label="vuz491/Zero",fontsize=10,color="white",style="solid",shape="box"];8139 -> 8625[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8625 -> 8146[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8140[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero vuz491)",fontsize=16,color="burlywood",shape="box"];8626[label="vuz491/Succ vuz4910",fontsize=10,color="white",style="solid",shape="box"];8140 -> 8626[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8626 -> 8147[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8627[label="vuz491/Zero",fontsize=10,color="white",style="solid",shape="box"];8140 -> 8627[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8627 -> 8148[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7236[label="Zero",fontsize=16,color="green",shape="box"];7237 -> 5960[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7237[label="primMinusNatS (Succ vuz156000) Zero",fontsize=16,color="magenta"];7237 -> 7288[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7238[label="Zero",fontsize=16,color="green",shape="box"];7239 -> 5962[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7239[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];7930 -> 7847[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7930[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7931 -> 7848[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7931[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7932 -> 7849[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7932[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7933 -> 7850[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7933[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7934 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7934[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7934 -> 7949[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7935[label="signumReal0 (Neg (Succ vuz461)) True",fontsize=16,color="black",shape="box"];7935 -> 7950[label="",style="solid", color="black", weight=3]; 101.93/62.93 7240[label="Integer vuz268 `quot` gcd0Gcd' (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7240 -> 7289[label="",style="solid", color="black", weight=3]; 101.93/62.93 7241[label="Integer vuz268 `quot` absReal (Integer vuz298)",fontsize=16,color="black",shape="box"];7241 -> 7290[label="",style="solid", color="black", weight=3]; 101.93/62.93 7278[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7278 -> 7309[label="",style="solid", color="black", weight=3]; 101.93/62.93 7279[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7279 -> 7310[label="",style="solid", color="black", weight=3]; 101.93/62.93 7280[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7280 -> 7311[label="",style="solid", color="black", weight=3]; 101.93/62.93 7281[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7281 -> 7312[label="",style="solid", color="black", weight=3]; 101.93/62.93 7282[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7282 -> 7313[label="",style="solid", color="black", weight=3]; 101.93/62.93 7283[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7283 -> 7314[label="",style="solid", color="black", weight=3]; 101.93/62.93 7936 -> 7850[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7936[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7937 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7937[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7937 -> 7951[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7938 -> 7850[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7938[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7939 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7939[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7939 -> 7952[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7940[label="fromInt (Neg (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7940 -> 7953[label="",style="dashed", color="green", weight=3]; 101.93/62.93 7940 -> 7954[label="",style="dashed", color="green", weight=3]; 101.93/62.93 7941[label="Double (Neg (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7942[label="Float (Neg (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];8145[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) (Succ vuz4910))",fontsize=16,color="black",shape="box"];8145 -> 8153[label="",style="solid", color="black", weight=3]; 101.93/62.93 8146[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) Zero)",fontsize=16,color="black",shape="box"];8146 -> 8154[label="",style="solid", color="black", weight=3]; 101.93/62.93 8147[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero (Succ vuz4910))",fontsize=16,color="black",shape="box"];8147 -> 8155[label="",style="solid", color="black", weight=3]; 101.93/62.93 8148[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];8148 -> 8156[label="",style="solid", color="black", weight=3]; 101.93/62.93 7288[label="vuz156000",fontsize=16,color="green",shape="box"];7949[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7950[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8628[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8628[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8628 -> 7958[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8629[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8629[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8629 -> 7959[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8630[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8630[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8630 -> 7960[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8631[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8631[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8631 -> 7961[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8632[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8632[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8632 -> 7962[label="",style="solid", color="blue", weight=3]; 101.93/62.93 7289[label="Integer vuz268 `quot` gcd0Gcd'2 (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7289 -> 7320[label="",style="solid", color="black", weight=3]; 101.93/62.93 7290[label="Integer vuz268 `quot` absReal2 (Integer vuz298)",fontsize=16,color="black",shape="box"];7290 -> 7321[label="",style="solid", color="black", weight=3]; 101.93/62.93 7309[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7309 -> 7418[label="",style="solid", color="black", weight=3]; 101.93/62.93 7310 -> 7192[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7310[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7310 -> 7419[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7310 -> 7420[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7311[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7311 -> 7421[label="",style="solid", color="black", weight=3]; 101.93/62.93 7312 -> 7194[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7312[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7312 -> 7422[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7312 -> 7423[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7313[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7313 -> 7424[label="",style="solid", color="black", weight=3]; 101.93/62.93 7314[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7314 -> 7425[label="",style="solid", color="black", weight=3]; 101.93/62.93 7951[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7952[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7953[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8633[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];7953 -> 8633[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8633 -> 7963[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8634[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7953 -> 8634[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8634 -> 7964[label="",style="solid", color="blue", weight=3]; 101.93/62.93 7954[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8635[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7954 -> 8635[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8635 -> 7965[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8636[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7954 -> 8636[label="",style="solid", color="blue", weight=9]; 101.93/62.93 8636 -> 7966[label="",style="solid", color="blue", weight=3]; 101.93/62.93 8153 -> 8098[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8153[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS vuz4900 vuz4910)",fontsize=16,color="magenta"];8153 -> 8161[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8153 -> 8162[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8154[label="primModNatS0 (Succ vuz488) (Succ vuz489) True",fontsize=16,color="black",shape="triangle"];8154 -> 8163[label="",style="solid", color="black", weight=3]; 101.93/62.93 8155[label="primModNatS0 (Succ vuz488) (Succ vuz489) False",fontsize=16,color="black",shape="box"];8155 -> 8164[label="",style="solid", color="black", weight=3]; 101.93/62.93 8156 -> 8154[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8156[label="primModNatS0 (Succ vuz488) (Succ vuz489) True",fontsize=16,color="magenta"];7958 -> 7887[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7958[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7959 -> 7888[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7959[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7960 -> 7889[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7960[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7961 -> 7890[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7961[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7962 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7962[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7962 -> 7982[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7320[label="Integer vuz268 `quot` gcd0Gcd'1 (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7320 -> 7434[label="",style="solid", color="black", weight=3]; 101.93/62.93 7321[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7321 -> 7435[label="",style="solid", color="black", weight=3]; 101.93/62.93 7418[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7418 -> 7452[label="",style="solid", color="black", weight=3]; 101.93/62.93 7419[label="vuz210",fontsize=16,color="green",shape="box"];7420[label="vuz209",fontsize=16,color="green",shape="box"];7421[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7421 -> 7453[label="",style="solid", color="black", weight=3]; 101.93/62.93 7422[label="vuz213",fontsize=16,color="green",shape="box"];7423[label="vuz214",fontsize=16,color="green",shape="box"];7424[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7424 -> 7454[label="",style="solid", color="black", weight=3]; 101.93/62.93 7425[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7425 -> 7455[label="",style="solid", color="black", weight=3]; 101.93/62.93 7963 -> 7890[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7963[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7964 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7964[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7964 -> 7983[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7965 -> 7850[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7965[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7966 -> 2609[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7966[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7966 -> 7984[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8161[label="vuz4900",fontsize=16,color="green",shape="box"];8162[label="vuz4910",fontsize=16,color="green",shape="box"];8163 -> 5923[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8163[label="primModNatS (primMinusNatS (Succ vuz488) (Succ vuz489)) (Succ (Succ vuz489))",fontsize=16,color="magenta"];8163 -> 8169[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8163 -> 8170[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8164[label="Succ (Succ vuz488)",fontsize=16,color="green",shape="box"];7982[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7434[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7434 -> 7462[label="",style="solid", color="black", weight=3]; 101.93/62.93 7435[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];7435 -> 7463[label="",style="solid", color="black", weight=3]; 101.93/62.93 7452[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7452 -> 7527[label="",style="solid", color="black", weight=3]; 101.93/62.93 7453[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7453 -> 7528[label="",style="solid", color="black", weight=3]; 101.93/62.93 7454[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7454 -> 7529[label="",style="solid", color="black", weight=3]; 101.93/62.93 7455[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7455 -> 7530[label="",style="solid", color="black", weight=3]; 101.93/62.93 7983[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7984[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];8169[label="Succ vuz489",fontsize=16,color="green",shape="box"];8170 -> 7692[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8170[label="primMinusNatS (Succ vuz488) (Succ vuz489)",fontsize=16,color="magenta"];8170 -> 8174[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8170 -> 8175[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7462[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal2 (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal2 (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7462 -> 7537[label="",style="solid", color="black", weight=3]; 101.93/62.93 7463[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7463 -> 7538[label="",style="solid", color="black", weight=3]; 101.93/62.93 7527[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7527 -> 7554[label="",style="solid", color="black", weight=3]; 101.93/62.93 7528[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7528 -> 7555[label="",style="solid", color="black", weight=3]; 101.93/62.93 7529[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7529 -> 7556[label="",style="solid", color="black", weight=3]; 101.93/62.93 7530[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7530 -> 7557[label="",style="solid", color="black", weight=3]; 101.93/62.93 8174[label="Succ vuz488",fontsize=16,color="green",shape="box"];8175[label="Succ vuz489",fontsize=16,color="green",shape="box"];7537[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7537 -> 7566[label="",style="solid", color="black", weight=3]; 101.93/62.93 7538[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7538 -> 7567[label="",style="solid", color="black", weight=3]; 101.93/62.93 7554 -> 7120[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7554[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7554 -> 7583[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7554 -> 7584[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7554 -> 7585[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7554 -> 7586[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7555 -> 7120[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7555[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7555 -> 7587[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7555 -> 7588[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7555 -> 7589[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7555 -> 7590[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7556 -> 7120[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7556[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7556 -> 7591[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7556 -> 7592[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7556 -> 7593[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7556 -> 7594[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7557 -> 7120[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7557[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7557 -> 7595[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7557 -> 7596[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7557 -> 7597[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7557 -> 7598[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7566[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7566 -> 7605[label="",style="solid", color="black", weight=3]; 101.93/62.93 7567[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8637[label="vuz298/Pos vuz2980",fontsize=10,color="white",style="solid",shape="box"];7567 -> 8637[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8637 -> 7606[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8638[label="vuz298/Neg vuz2980",fontsize=10,color="white",style="solid",shape="box"];7567 -> 8638[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8638 -> 7607[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7583[label="Pos vuz208",fontsize=16,color="green",shape="box"];7584[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];7585[label="Pos vuz207",fontsize=16,color="green",shape="box"];7586 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7586[label="absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7586 -> 7623[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7587[label="Neg vuz212",fontsize=16,color="green",shape="box"];7588[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];7589[label="Neg vuz211",fontsize=16,color="green",shape="box"];7590 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7590[label="absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7590 -> 7624[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7591[label="Neg vuz217",fontsize=16,color="green",shape="box"];7592 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7592[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7592 -> 7625[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7593[label="Neg vuz216",fontsize=16,color="green",shape="box"];7594 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7594[label="absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7594 -> 7626[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7595[label="Pos vuz227",fontsize=16,color="green",shape="box"];7596 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7596[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7596 -> 7627[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7597[label="Pos vuz226",fontsize=16,color="green",shape="box"];7598 -> 47[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7598[label="absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7598 -> 7628[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7605[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7605 -> 7635[label="",style="solid", color="black", weight=3]; 101.93/62.93 7606[label="Integer vuz268 `quot` absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8639[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7606 -> 8639[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8639 -> 7636[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8640[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7606 -> 8640[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8640 -> 7637[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7607[label="Integer vuz268 `quot` absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8641[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7607 -> 8641[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8641 -> 7638[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8642[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7607 -> 8642[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8642 -> 7639[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7623[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];7624[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];7625[label="vuz900",fontsize=16,color="green",shape="box"];7626 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7626[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7626 -> 7652[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7627[label="vuz900",fontsize=16,color="green",shape="box"];7628 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7628[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7628 -> 7653[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7635[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7635 -> 7662[label="",style="solid", color="black", weight=3]; 101.93/62.93 7636[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7636 -> 7663[label="",style="solid", color="black", weight=3]; 101.93/62.93 7637[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7637 -> 7664[label="",style="solid", color="black", weight=3]; 101.93/62.93 7638[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7638 -> 7665[label="",style="solid", color="black", weight=3]; 101.93/62.93 7639[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7639 -> 7666[label="",style="solid", color="black", weight=3]; 101.93/62.93 7652[label="vuz900",fontsize=16,color="green",shape="box"];7653[label="vuz900",fontsize=16,color="green",shape="box"];7662[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8643[label="vuz298/Pos vuz2980",fontsize=10,color="white",style="solid",shape="box"];7662 -> 8643[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8643 -> 7686[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8644[label="vuz298/Neg vuz2980",fontsize=10,color="white",style="solid",shape="box"];7662 -> 8644[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8644 -> 7687[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7663[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT))",fontsize=16,color="black",shape="box"];7663 -> 7688[label="",style="solid", color="black", weight=3]; 101.93/62.93 7664[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];7664 -> 7689[label="",style="solid", color="black", weight=3]; 101.93/62.93 7665[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT))",fontsize=16,color="black",shape="box"];7665 -> 7690[label="",style="solid", color="black", weight=3]; 101.93/62.93 7666[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];7666 -> 7691[label="",style="solid", color="black", weight=3]; 101.93/62.93 7686[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8645[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7686 -> 8645[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8645 -> 7738[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8646[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7686 -> 8646[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8646 -> 7739[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7687[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8647[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7687 -> 8647[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8647 -> 7740[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8648[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7687 -> 8648[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8648 -> 7741[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7688[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT))",fontsize=16,color="black",shape="box"];7688 -> 7742[label="",style="solid", color="black", weight=3]; 101.93/62.93 7689[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];7689 -> 7743[label="",style="solid", color="black", weight=3]; 101.93/62.93 7690[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not True)",fontsize=16,color="black",shape="box"];7690 -> 7744[label="",style="solid", color="black", weight=3]; 101.93/62.93 7691[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];7691 -> 7745[label="",style="solid", color="black", weight=3]; 101.93/62.93 7738[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7738 -> 7768[label="",style="solid", color="black", weight=3]; 101.93/62.93 7739[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7739 -> 7769[label="",style="solid", color="black", weight=3]; 101.93/62.93 7740[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7740 -> 7770[label="",style="solid", color="black", weight=3]; 101.93/62.93 7741[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7741 -> 7771[label="",style="solid", color="black", weight=3]; 101.93/62.93 7742[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not False)",fontsize=16,color="black",shape="box"];7742 -> 7772[label="",style="solid", color="black", weight=3]; 101.93/62.93 7743[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];7743 -> 7773[label="",style="solid", color="black", weight=3]; 101.93/62.93 7744[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) False",fontsize=16,color="black",shape="box"];7744 -> 7774[label="",style="solid", color="black", weight=3]; 101.93/62.93 7745[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];7745 -> 7775[label="",style="solid", color="black", weight=3]; 101.93/62.93 7768[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7768 -> 7797[label="",style="solid", color="black", weight=3]; 101.93/62.93 7769[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7769 -> 7798[label="",style="solid", color="black", weight=3]; 101.93/62.93 7770[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7770 -> 7799[label="",style="solid", color="black", weight=3]; 101.93/62.93 7771[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7771 -> 7800[label="",style="solid", color="black", weight=3]; 101.93/62.93 7772[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) True",fontsize=16,color="black",shape="box"];7772 -> 7801[label="",style="solid", color="black", weight=3]; 101.93/62.93 7773 -> 7925[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7773[label="Integer vuz268 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];7773 -> 7926[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7774[label="Integer vuz268 `quot` absReal0 (Integer (Neg (Succ vuz29800))) otherwise",fontsize=16,color="black",shape="box"];7774 -> 7803[label="",style="solid", color="black", weight=3]; 101.93/62.93 7775 -> 7925[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7775[label="Integer vuz268 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];7775 -> 7927[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7797[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7797 -> 7865[label="",style="solid", color="black", weight=3]; 101.93/62.93 7798[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7798 -> 7866[label="",style="solid", color="black", weight=3]; 101.93/62.93 7799[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not True) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not True) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7799 -> 7867[label="",style="solid", color="black", weight=3]; 101.93/62.93 7800[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7800 -> 7868[label="",style="solid", color="black", weight=3]; 101.93/62.93 7801 -> 7925[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7801[label="Integer vuz268 `quot` Integer (Pos (Succ vuz29800))",fontsize=16,color="magenta"];7801 -> 7928[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7926[label="Pos Zero",fontsize=16,color="green",shape="box"];7925[label="Integer vuz268 `quot` Integer vuz468",fontsize=16,color="black",shape="triangle"];7925 -> 7943[label="",style="solid", color="black", weight=3]; 101.93/62.93 7803[label="Integer vuz268 `quot` absReal0 (Integer (Neg (Succ vuz29800))) True",fontsize=16,color="black",shape="box"];7803 -> 7871[label="",style="solid", color="black", weight=3]; 101.93/62.93 7927[label="Neg Zero",fontsize=16,color="green",shape="box"];7865[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7865 -> 7892[label="",style="solid", color="black", weight=3]; 101.93/62.93 7866[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7866 -> 7893[label="",style="solid", color="black", weight=3]; 101.93/62.93 7867[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) False `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) False `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7867 -> 7894[label="",style="solid", color="black", weight=3]; 101.93/62.93 7868[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7868 -> 7895[label="",style="solid", color="black", weight=3]; 101.93/62.93 7928[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];7943[label="Integer (primQuotInt vuz268 vuz468)",fontsize=16,color="green",shape="box"];7943 -> 7955[label="",style="dashed", color="green", weight=3]; 101.93/62.93 7871[label="Integer vuz268 `quot` (`negate` Integer (Neg (Succ vuz29800)))",fontsize=16,color="black",shape="box"];7871 -> 7899[label="",style="solid", color="black", weight=3]; 101.93/62.93 7892[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7892 -> 7917[label="",style="solid", color="black", weight=3]; 101.93/62.93 7893 -> 8015[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7893[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Pos Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7893 -> 8016[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7893 -> 8017[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7894[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz29800))) otherwise `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal0 (Integer (Neg (Succ vuz29800))) otherwise `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7894 -> 7919[label="",style="solid", color="black", weight=3]; 101.93/62.93 7895 -> 8015[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7895[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Neg Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7895 -> 8018[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7895 -> 8019[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7955[label="primQuotInt vuz268 vuz468",fontsize=16,color="burlywood",shape="box"];8649[label="vuz268/Pos vuz2680",fontsize=10,color="white",style="solid",shape="box"];7955 -> 8649[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8649 -> 7967[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8650[label="vuz268/Neg vuz2680",fontsize=10,color="white",style="solid",shape="box"];7955 -> 8650[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8650 -> 7968[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7899 -> 7925[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7899[label="Integer vuz268 `quot` Integer (primNegInt (Neg (Succ vuz29800)))",fontsize=16,color="magenta"];7899 -> 7929[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7917 -> 8015[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7917[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz29800)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Pos (Succ vuz29800)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7917 -> 8020[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7917 -> 8021[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8016[label="Pos Zero",fontsize=16,color="green",shape="box"];8017[label="Pos Zero",fontsize=16,color="green",shape="box"];8015[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];8015 -> 8024[label="",style="solid", color="black", weight=3]; 101.93/62.93 7919[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal0 (Integer (Neg (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7919 -> 7973[label="",style="solid", color="black", weight=3]; 101.93/62.93 8018[label="Neg Zero",fontsize=16,color="green",shape="box"];8019[label="Neg Zero",fontsize=16,color="green",shape="box"];7967[label="primQuotInt (Pos vuz2680) vuz468",fontsize=16,color="burlywood",shape="box"];8651[label="vuz468/Pos vuz4680",fontsize=10,color="white",style="solid",shape="box"];7967 -> 8651[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8651 -> 7985[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8652[label="vuz468/Neg vuz4680",fontsize=10,color="white",style="solid",shape="box"];7967 -> 8652[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8652 -> 7986[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7968[label="primQuotInt (Neg vuz2680) vuz468",fontsize=16,color="burlywood",shape="box"];8653[label="vuz468/Pos vuz4680",fontsize=10,color="white",style="solid",shape="box"];7968 -> 8653[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8653 -> 7987[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8654[label="vuz468/Neg vuz4680",fontsize=10,color="white",style="solid",shape="box"];7968 -> 8654[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8654 -> 7988[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7929 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7929[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];7929 -> 7975[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8020[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];8021[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];8024[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];8024 -> 8038[label="",style="solid", color="black", weight=3]; 101.93/62.93 7973[label="Integer vuz268 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) ((`negate` Integer (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7973 -> 7992[label="",style="solid", color="black", weight=3]; 101.93/62.93 7985[label="primQuotInt (Pos vuz2680) (Pos vuz4680)",fontsize=16,color="burlywood",shape="box"];8655[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7985 -> 8655[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8655 -> 8001[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8656[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7985 -> 8656[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8656 -> 8002[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7986[label="primQuotInt (Pos vuz2680) (Neg vuz4680)",fontsize=16,color="burlywood",shape="box"];8657[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7986 -> 8657[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8657 -> 8003[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8658[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7986 -> 8658[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8658 -> 8004[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7987[label="primQuotInt (Neg vuz2680) (Pos vuz4680)",fontsize=16,color="burlywood",shape="box"];8659[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7987 -> 8659[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8659 -> 8005[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8660[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7987 -> 8660[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8660 -> 8006[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7988[label="primQuotInt (Neg vuz2680) (Neg vuz4680)",fontsize=16,color="burlywood",shape="box"];8661[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7988 -> 8661[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8661 -> 8007[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8662[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7988 -> 8662[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8662 -> 8008[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7975[label="vuz29800",fontsize=16,color="green",shape="box"];8038[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8663[label="vuz269/Pos vuz2690",fontsize=10,color="white",style="solid",shape="box"];8038 -> 8663[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8663 -> 8041[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8664[label="vuz269/Neg vuz2690",fontsize=10,color="white",style="solid",shape="box"];8038 -> 8664[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8664 -> 8042[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 7992 -> 8015[label="",style="dashed", color="red", weight=0]; 101.93/62.93 7992[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (primNegInt (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7992 -> 8022[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 7992 -> 8023[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8001[label="primQuotInt (Pos vuz2680) (Pos (Succ vuz46800))",fontsize=16,color="black",shape="box"];8001 -> 8025[label="",style="solid", color="black", weight=3]; 101.93/62.93 8002[label="primQuotInt (Pos vuz2680) (Pos Zero)",fontsize=16,color="black",shape="box"];8002 -> 8026[label="",style="solid", color="black", weight=3]; 101.93/62.93 8003[label="primQuotInt (Pos vuz2680) (Neg (Succ vuz46800))",fontsize=16,color="black",shape="box"];8003 -> 8027[label="",style="solid", color="black", weight=3]; 101.93/62.93 8004[label="primQuotInt (Pos vuz2680) (Neg Zero)",fontsize=16,color="black",shape="box"];8004 -> 8028[label="",style="solid", color="black", weight=3]; 101.93/62.93 8005[label="primQuotInt (Neg vuz2680) (Pos (Succ vuz46800))",fontsize=16,color="black",shape="box"];8005 -> 8029[label="",style="solid", color="black", weight=3]; 101.93/62.93 8006[label="primQuotInt (Neg vuz2680) (Pos Zero)",fontsize=16,color="black",shape="box"];8006 -> 8030[label="",style="solid", color="black", weight=3]; 101.93/62.93 8007[label="primQuotInt (Neg vuz2680) (Neg (Succ vuz46800))",fontsize=16,color="black",shape="box"];8007 -> 8031[label="",style="solid", color="black", weight=3]; 101.93/62.93 8008[label="primQuotInt (Neg vuz2680) (Neg Zero)",fontsize=16,color="black",shape="box"];8008 -> 8032[label="",style="solid", color="black", weight=3]; 101.93/62.93 8041[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8665[label="vuz2690/Succ vuz26900",fontsize=10,color="white",style="solid",shape="box"];8041 -> 8665[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8665 -> 8057[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8666[label="vuz2690/Zero",fontsize=10,color="white",style="solid",shape="box"];8041 -> 8666[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8666 -> 8058[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8042[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8667[label="vuz2690/Succ vuz26900",fontsize=10,color="white",style="solid",shape="box"];8042 -> 8667[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8667 -> 8059[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8668[label="vuz2690/Zero",fontsize=10,color="white",style="solid",shape="box"];8042 -> 8668[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8668 -> 8060[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8022 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8022[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];8022 -> 8045[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8023 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8023[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];8023 -> 8046[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8025[label="Pos (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8025 -> 8047[label="",style="dashed", color="green", weight=3]; 101.93/62.93 8026 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8026[label="error []",fontsize=16,color="magenta"];8027[label="Neg (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8027 -> 8048[label="",style="dashed", color="green", weight=3]; 101.93/62.93 8028 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8028[label="error []",fontsize=16,color="magenta"];8029[label="Neg (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8029 -> 8049[label="",style="dashed", color="green", weight=3]; 101.93/62.93 8030 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8030[label="error []",fontsize=16,color="magenta"];8031[label="Pos (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8031 -> 8050[label="",style="dashed", color="green", weight=3]; 101.93/62.93 8032 -> 3082[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8032[label="error []",fontsize=16,color="magenta"];8057[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8057 -> 8075[label="",style="solid", color="black", weight=3]; 101.93/62.93 8058[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8058 -> 8076[label="",style="solid", color="black", weight=3]; 101.93/62.93 8059[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8059 -> 8077[label="",style="solid", color="black", weight=3]; 101.93/62.93 8060[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8060 -> 8078[label="",style="solid", color="black", weight=3]; 101.93/62.93 8045[label="vuz29800",fontsize=16,color="green",shape="box"];8046[label="vuz29800",fontsize=16,color="green",shape="box"];8047 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8047[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8047 -> 8061[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8047 -> 8062[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8048 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8048[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8048 -> 8063[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8048 -> 8064[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8049 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8049[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8049 -> 8065[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8049 -> 8066[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8050 -> 5661[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8050[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8050 -> 8067[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8050 -> 8068[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8075[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT)))",fontsize=16,color="black",shape="box"];8075 -> 8083[label="",style="solid", color="black", weight=3]; 101.93/62.93 8076[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];8076 -> 8084[label="",style="solid", color="black", weight=3]; 101.93/62.93 8077[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];8077 -> 8085[label="",style="solid", color="black", weight=3]; 101.93/62.93 8078[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];8078 -> 8086[label="",style="solid", color="black", weight=3]; 101.93/62.93 8061[label="vuz46800",fontsize=16,color="green",shape="box"];8062[label="vuz2680",fontsize=16,color="green",shape="box"];8063[label="vuz46800",fontsize=16,color="green",shape="box"];8064[label="vuz2680",fontsize=16,color="green",shape="box"];8065[label="vuz46800",fontsize=16,color="green",shape="box"];8066[label="vuz2680",fontsize=16,color="green",shape="box"];8067[label="vuz46800",fontsize=16,color="green",shape="box"];8068[label="vuz2680",fontsize=16,color="green",shape="box"];8083[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];8083 -> 8094[label="",style="solid", color="black", weight=3]; 101.93/62.93 8084[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];8084 -> 8095[label="",style="solid", color="black", weight=3]; 101.93/62.93 8085[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not True) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not True)) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not True))",fontsize=16,color="black",shape="box"];8085 -> 8096[label="",style="solid", color="black", weight=3]; 101.93/62.93 8086[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];8086 -> 8097[label="",style="solid", color="black", weight=3]; 101.93/62.93 8094[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not False))",fontsize=16,color="black",shape="box"];8094 -> 8141[label="",style="solid", color="black", weight=3]; 101.93/62.93 8095[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) True) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];8095 -> 8142[label="",style="solid", color="black", weight=3]; 101.93/62.93 8096[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) False == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) False) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) False)",fontsize=16,color="black",shape="box"];8096 -> 8143[label="",style="solid", color="black", weight=3]; 101.93/62.93 8097[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) True) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];8097 -> 8144[label="",style="solid", color="black", weight=3]; 101.93/62.93 8141[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) True == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) True) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) True)",fontsize=16,color="black",shape="box"];8141 -> 8149[label="",style="solid", color="black", weight=3]; 101.93/62.93 8142 -> 8196[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8142[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer vuz473 `rem` Integer (Pos Zero))",fontsize=16,color="magenta"];8142 -> 8197[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8142 -> 8198[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8142 -> 8199[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8143[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal0 (Integer (Neg (Succ vuz26900))) otherwise == fromInt (Pos Zero)) (absReal0 (Integer (Neg (Succ vuz26900))) otherwise) (Integer vuz473 `rem` absReal0 (Integer (Neg (Succ vuz26900))) otherwise)",fontsize=16,color="black",shape="box"];8143 -> 8151[label="",style="solid", color="black", weight=3]; 101.93/62.93 8144 -> 8196[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8144[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer vuz473 `rem` Integer (Neg Zero))",fontsize=16,color="magenta"];8144 -> 8200[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8144 -> 8201[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8144 -> 8202[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8149 -> 8196[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8149[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Pos (Succ vuz26900)) == fromInt (Pos Zero)) (Integer (Pos (Succ vuz26900))) (Integer vuz473 `rem` Integer (Pos (Succ vuz26900)))",fontsize=16,color="magenta"];8149 -> 8203[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8149 -> 8204[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8149 -> 8205[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8197[label="Pos Zero",fontsize=16,color="green",shape="box"];8198[label="Pos Zero",fontsize=16,color="green",shape="box"];8199[label="Pos Zero",fontsize=16,color="green",shape="box"];8196[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer vuz503 == fromInt (Pos Zero)) (Integer vuz501) (Integer vuz473 `rem` Integer vuz502)",fontsize=16,color="black",shape="triangle"];8196 -> 8209[label="",style="solid", color="black", weight=3]; 101.93/62.93 8151[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal0 (Integer (Neg (Succ vuz26900))) True == fromInt (Pos Zero)) (absReal0 (Integer (Neg (Succ vuz26900))) True) (Integer vuz473 `rem` absReal0 (Integer (Neg (Succ vuz26900))) True)",fontsize=16,color="black",shape="box"];8151 -> 8165[label="",style="solid", color="black", weight=3]; 101.93/62.93 8200[label="Neg Zero",fontsize=16,color="green",shape="box"];8201[label="Neg Zero",fontsize=16,color="green",shape="box"];8202[label="Neg Zero",fontsize=16,color="green",shape="box"];8203[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8204[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8205[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8209 -> 8213[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8209[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (primRemInt vuz474 vuz503) == fromInt (Pos Zero)) (Integer vuz501) (Integer (primRemInt vuz474 vuz503))",fontsize=16,color="magenta"];8209 -> 8214[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8209 -> 8215[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8165[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` (`negate` Integer (Neg (Succ vuz26900))) == fromInt (Pos Zero)) (`negate` Integer (Neg (Succ vuz26900))) (Integer vuz473 `rem` (`negate` Integer (Neg (Succ vuz26900))))",fontsize=16,color="black",shape="box"];8165 -> 8181[label="",style="solid", color="black", weight=3]; 101.93/62.93 8214 -> 4263[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8214[label="primRemInt vuz474 vuz503",fontsize=16,color="magenta"];8214 -> 8216[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8214 -> 8217[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8215 -> 6099[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8215[label="Integer (primRemInt vuz474 vuz503) == fromInt (Pos Zero)",fontsize=16,color="magenta"];8215 -> 8218[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8213[label="Integer vuz268 `quot` gcd0Gcd'1 vuz504 (Integer vuz501) (Integer vuz505)",fontsize=16,color="burlywood",shape="triangle"];8669[label="vuz504/False",fontsize=10,color="white",style="solid",shape="box"];8213 -> 8669[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8669 -> 8219[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8670[label="vuz504/True",fontsize=10,color="white",style="solid",shape="box"];8213 -> 8670[label="",style="solid", color="burlywood", weight=9]; 101.93/62.93 8670 -> 8220[label="",style="solid", color="burlywood", weight=3]; 101.93/62.93 8181 -> 8196[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8181[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (primNegInt (Neg (Succ vuz26900))) == fromInt (Pos Zero)) (Integer (primNegInt (Neg (Succ vuz26900)))) (Integer vuz473 `rem` Integer (primNegInt (Neg (Succ vuz26900))))",fontsize=16,color="magenta"];8181 -> 8206[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8181 -> 8207[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8181 -> 8208[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8216[label="vuz474",fontsize=16,color="green",shape="box"];8217[label="vuz503",fontsize=16,color="green",shape="box"];8218 -> 4263[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8218[label="primRemInt vuz474 vuz503",fontsize=16,color="magenta"];8218 -> 8221[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8218 -> 8222[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8219[label="Integer vuz268 `quot` gcd0Gcd'1 False (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8219 -> 8223[label="",style="solid", color="black", weight=3]; 101.93/62.93 8220[label="Integer vuz268 `quot` gcd0Gcd'1 True (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8220 -> 8224[label="",style="solid", color="black", weight=3]; 101.93/62.93 8206 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8206[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8206 -> 8210[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8207 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8207[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8207 -> 8211[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8208 -> 2686[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8208[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8208 -> 8212[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8221[label="vuz474",fontsize=16,color="green",shape="box"];8222[label="vuz503",fontsize=16,color="green",shape="box"];8223[label="Integer vuz268 `quot` gcd0Gcd'0 (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8223 -> 8225[label="",style="solid", color="black", weight=3]; 101.93/62.93 8224 -> 7925[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8224[label="Integer vuz268 `quot` Integer vuz501",fontsize=16,color="magenta"];8224 -> 8226[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8210[label="vuz26900",fontsize=16,color="green",shape="box"];8211[label="vuz26900",fontsize=16,color="green",shape="box"];8212[label="vuz26900",fontsize=16,color="green",shape="box"];8225[label="Integer vuz268 `quot` gcd0Gcd' (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="black",shape="box"];8225 -> 8227[label="",style="solid", color="black", weight=3]; 101.93/62.93 8226[label="vuz501",fontsize=16,color="green",shape="box"];8227[label="Integer vuz268 `quot` gcd0Gcd'2 (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="black",shape="box"];8227 -> 8228[label="",style="solid", color="black", weight=3]; 101.93/62.93 8228 -> 8196[label="",style="dashed", color="red", weight=0]; 101.93/62.93 8228[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz501 `rem` Integer vuz505 == fromInt (Pos Zero)) (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="magenta"];8228 -> 8229[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8228 -> 8230[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8228 -> 8231[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8228 -> 8232[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8228 -> 8233[label="",style="dashed", color="magenta", weight=3]; 101.93/62.93 8229[label="vuz505",fontsize=16,color="green",shape="box"];8230[label="vuz505",fontsize=16,color="green",shape="box"];8231[label="vuz501",fontsize=16,color="green",shape="box"];8232[label="vuz505",fontsize=16,color="green",shape="box"];8233[label="vuz501",fontsize=16,color="green",shape="box"];} 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (12) 101.93/62.93 Complex Obligation (AND) 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (13) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_primModNatS(Succ(Succ(vuz156000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 new_primModNatS(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS0(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) 101.93/62.93 new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primModNatS0(vuz488, vuz489, Zero, Zero) -> new_primModNatS00(vuz488, vuz489) 101.93/62.93 new_primModNatS00(vuz488, vuz489) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primMinusNatS1 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (14) DependencyGraphProof (EQUIVALENT) 101.93/62.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (15) 101.93/62.93 Complex Obligation (AND) 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (16) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_primModNatS(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS0(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primModNatS0(vuz488, vuz489, Zero, Zero) -> new_primModNatS00(vuz488, vuz489) 101.93/62.93 new_primModNatS00(vuz488, vuz489) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primMinusNatS1 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (17) QDPOrderProof (EQUIVALENT) 101.93/62.93 We use the reduction pair processor [LPAR04,JAR06]. 101.93/62.93 101.93/62.93 101.93/62.93 The following pairs can be oriented strictly and are deleted. 101.93/62.93 101.93/62.93 new_primModNatS(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS0(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 The remaining pairs can at least be oriented weakly. 101.93/62.93 Used ordering: Polynomial interpretation [POLO]: 101.93/62.93 101.93/62.93 POL(Succ(x_1)) = 1 + x_1 101.93/62.93 POL(Zero) = 1 101.93/62.93 POL(new_primMinusNatS2(x_1, x_2)) = x_1 101.93/62.93 POL(new_primModNatS(x_1, x_2)) = x_1 101.93/62.93 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 101.93/62.93 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 101.93/62.93 101.93/62.93 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (18) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primModNatS0(vuz488, vuz489, Zero, Zero) -> new_primModNatS00(vuz488, vuz489) 101.93/62.93 new_primModNatS00(vuz488, vuz489) -> new_primModNatS(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primMinusNatS1 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (19) DependencyGraphProof (EQUIVALENT) 101.93/62.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (20) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primMinusNatS1 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (21) QDPSizeChangeProof (EQUIVALENT) 101.93/62.93 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 101.93/62.93 101.93/62.93 From the DPs we obtained the following set of size-change graphs: 101.93/62.93 *new_primModNatS0(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS0(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 101.93/62.93 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (22) 101.93/62.93 YES 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (23) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_primModNatS(Succ(Succ(vuz156000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primMinusNatS1 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (24) MRRProof (EQUIVALENT) 101.93/62.93 By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented. 101.93/62.93 101.93/62.93 Strictly oriented dependency pairs: 101.93/62.93 101.93/62.93 new_primModNatS(Succ(Succ(vuz156000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 101.93/62.93 Strictly oriented rules of the TRS R: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 101.93/62.93 Used ordering: Polynomial interpretation [POLO]: 101.93/62.93 101.93/62.93 POL(Succ(x_1)) = 1 + x_1 101.93/62.93 POL(Zero) = 2 101.93/62.93 POL(new_primMinusNatS0(x_1)) = 1 + x_1 101.93/62.93 POL(new_primMinusNatS1) = 2 101.93/62.93 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 101.93/62.93 POL(new_primModNatS(x_1, x_2)) = x_1 + x_2 101.93/62.93 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (25) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 P is empty. 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primMinusNatS1 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (26) PisEmptyProof (EQUIVALENT) 101.93/62.93 The TRS P is empty. Hence, there is no (P,Q,R) chain. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (27) 101.93/62.93 YES 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (28) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.93 new_quot(vuz268, vuz474, vuz503, vuz501, vuz473, vuz502) -> new_quot0(vuz268, new_esEs0(new_primRemInt(vuz474, vuz503)), vuz501, new_primRemInt(vuz474, vuz503)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.93 new_primEqNat0(Zero, Zero) -> True 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 101.93/62.93 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 101.93/62.93 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_error -> error([]) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primEqNat0(Succ(vuz170000), Zero) -> False 101.93/62.93 new_primEqNat0(Zero, Succ(vuz173000)) -> False 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.93 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primEqNat0(Zero, Zero) 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.93 new_primMinusNatS1 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.93 new_primModNatS01(x0, x1) 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.93 new_primModNatS1(Zero, x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.93 new_esEs0(x0) 101.93/62.93 new_error 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) 101.93/62.93 new_primEqNat0(Succ(x0), Succ(x1)) 101.93/62.93 new_primEqNat0(Succ(x0), Zero) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.93 new_primEqNat0(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (29) TransformationProof (EQUIVALENT) 101.93/62.93 By instantiating [LPAR04] the rule new_quot(vuz268, vuz474, vuz503, vuz501, vuz473, vuz502) -> new_quot0(vuz268, new_esEs0(new_primRemInt(vuz474, vuz503)), vuz501, new_primRemInt(vuz474, vuz503)) we obtained the following new rules [LPAR04]: 101.93/62.93 101.93/62.93 (new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)),new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2))) 101.93/62.93 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (30) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.93 new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.93 new_primEqNat0(Zero, Zero) -> True 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 101.93/62.93 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 101.93/62.93 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_error -> error([]) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primEqNat0(Succ(vuz170000), Zero) -> False 101.93/62.93 new_primEqNat0(Zero, Succ(vuz173000)) -> False 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.93 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primEqNat0(Zero, Zero) 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.93 new_primMinusNatS1 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.93 new_primModNatS01(x0, x1) 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.93 new_primModNatS1(Zero, x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.93 new_esEs0(x0) 101.93/62.93 new_error 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) 101.93/62.93 new_primEqNat0(Succ(x0), Succ(x1)) 101.93/62.93 new_primEqNat0(Succ(x0), Zero) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.93 new_primEqNat0(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (31) UsableRulesProof (EQUIVALENT) 101.93/62.93 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (32) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.93 new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.93 new_error -> error([]) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.93 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primEqNat0(Zero, Zero) 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.93 new_primMinusNatS1 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.93 new_primModNatS01(x0, x1) 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.93 new_primModNatS1(Zero, x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.93 new_esEs0(x0) 101.93/62.93 new_error 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) 101.93/62.93 new_primEqNat0(Succ(x0), Succ(x1)) 101.93/62.93 new_primEqNat0(Succ(x0), Zero) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.93 new_primEqNat0(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (33) QReductionProof (EQUIVALENT) 101.93/62.93 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 101.93/62.93 101.93/62.93 new_primEqNat0(Zero, Zero) 101.93/62.93 new_primEqNat0(Succ(x0), Succ(x1)) 101.93/62.93 new_primEqNat0(Succ(x0), Zero) 101.93/62.93 new_primEqNat0(Zero, Succ(x0)) 101.93/62.93 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (34) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.93 new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.93 new_error -> error([]) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.93 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.93 new_primMinusNatS1 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.93 new_primModNatS01(x0, x1) 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.93 new_primModNatS1(Zero, x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.93 new_esEs0(x0) 101.93/62.93 new_error 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (35) TransformationProof (EQUIVALENT) 101.93/62.93 By rewriting [LPAR04] the rule new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_esEs0(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) at position [1] we obtained the following new rules [LPAR04]: 101.93/62.93 101.93/62.93 (new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)),new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2))) 101.93/62.93 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (36) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.93 new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_esEs0(vuz269) -> new_primEqInt(vuz269, Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.93 new_error -> error([]) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.93 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.93 new_primMinusNatS1 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.93 new_primModNatS01(x0, x1) 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.93 new_primModNatS1(Zero, x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.93 new_esEs0(x0) 101.93/62.93 new_error 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (37) UsableRulesProof (EQUIVALENT) 101.93/62.93 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (38) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.93 new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.93 new_error -> error([]) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.93 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.93 new_primMinusNatS1 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.93 new_primModNatS01(x0, x1) 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.93 new_primModNatS1(Zero, x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.93 new_esEs0(x0) 101.93/62.93 new_error 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (39) QReductionProof (EQUIVALENT) 101.93/62.93 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 101.93/62.93 101.93/62.93 new_esEs0(x0) 101.93/62.93 101.93/62.93 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (40) 101.93/62.93 Obligation: 101.93/62.93 Q DP problem: 101.93/62.93 The TRS P consists of the following rules: 101.93/62.93 101.93/62.93 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.93 new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 101.93/62.93 101.93/62.93 The TRS R consists of the following rules: 101.93/62.93 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.93 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.93 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.93 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.93 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.93 new_error -> error([]) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.93 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.93 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.93 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.93 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.93 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.93 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.93 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.93 new_primMinusNatS1 -> Zero 101.93/62.93 101.93/62.93 The set Q consists of the following terms: 101.93/62.93 101.93/62.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.93 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.93 new_primMinusNatS1 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.93 new_primModNatS01(x0, x1) 101.93/62.93 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.93 new_primModNatS1(Zero, x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS2(Zero, Zero) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.93 new_error 101.93/62.93 new_primModNatS1(Succ(Zero), Zero) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.93 new_primMinusNatS0(x0) 101.93/62.93 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.93 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.93 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.93 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.93 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.93 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.93 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.93 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.93 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.93 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.93 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.93 101.93/62.93 We have to consider all minimal (P,Q,R)-chains. 101.93/62.93 ---------------------------------------- 101.93/62.93 101.93/62.93 (41) InductionCalculusProof (EQUIVALENT) 101.93/62.93 Note that final constraints are written in bold face. 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 For Pair new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) the following chains were created: 101.93/62.93 *We consider the chain new_quot0(x3, False, x4, x5) -> new_quot(x3, x4, x5, x5, x4, x5), new_quot(x6, x7, x8, x8, x7, x8) -> new_quot0(x6, new_primEqInt(new_primRemInt(x7, x8), Pos(Zero)), x8, new_primRemInt(x7, x8)) which results in the following constraint: 101.93/62.93 101.93/62.93 (1) (new_quot(x3, x4, x5, x5, x4, x5)=new_quot(x6, x7, x8, x8, x7, x8) ==> new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x5, x4, x5)) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 101.93/62.93 101.93/62.93 (2) (new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x5, x4, x5)) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 For Pair new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) the following chains were created: 101.93/62.93 *We consider the chain new_quot(x9, x10, x11, x11, x10, x11) -> new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11)), new_quot0(x12, False, x13, x14) -> new_quot(x12, x13, x14, x14, x13, x14) which results in the following constraint: 101.93/62.93 101.93/62.93 (1) (new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))=new_quot0(x12, False, x13, x14) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 101.93/62.93 101.93/62.93 (2) (new_primRemInt(x10, x11)=x18 & Pos(Zero)=x19 & new_primEqInt(x18, x19)=False ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 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: 101.93/62.93 101.93/62.93 (3) (False=False & new_primRemInt(x10, x11)=Pos(Succ(x20)) & Pos(Zero)=Pos(Zero) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 101.93/62.93 101.93/62.93 (4) (False=False & new_primRemInt(x10, x11)=Neg(Succ(x22)) & Pos(Zero)=Pos(x21) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 101.93/62.93 101.93/62.93 (5) (new_primRemInt(x10, x11)=Pos(Succ(x20)) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (4) using rules (I), (II), (IV) which results in the following new constraint: 101.93/62.93 101.93/62.93 (6) (new_primRemInt(x10, x11)=Neg(Succ(x22)) ==> new_quot(x9, x10, x11, x11, x10, x11)_>=_new_quot0(x9, new_primEqInt(new_primRemInt(x10, x11), Pos(Zero)), x11, new_primRemInt(x10, x11))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 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: 101.93/62.93 101.93/62.93 (7) (Pos(new_primModNatS1(x24, x23))=Pos(Succ(x20)) ==> new_quot(x9, Pos(x24), Neg(Succ(x23)), Neg(Succ(x23)), Pos(x24), Neg(Succ(x23)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x24), Neg(Succ(x23))), Pos(Zero)), Neg(Succ(x23)), new_primRemInt(Pos(x24), Neg(Succ(x23))))) 101.93/62.93 101.93/62.93 (8) (Pos(new_primModNatS1(x26, x25))=Pos(Succ(x20)) ==> new_quot(x9, Pos(x26), Pos(Succ(x25)), Pos(Succ(x25)), Pos(x26), Pos(Succ(x25)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x26), Pos(Succ(x25))), Pos(Zero)), Pos(Succ(x25)), new_primRemInt(Pos(x26), Pos(Succ(x25))))) 101.93/62.93 101.93/62.93 (9) (new_error=Pos(Succ(x20)) ==> new_quot(x9, Neg(x27), Neg(Zero), Neg(Zero), Neg(x27), Neg(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x27), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x27), Neg(Zero)))) 101.93/62.93 101.93/62.93 (10) (new_error=Pos(Succ(x20)) ==> new_quot(x9, Pos(x30), Pos(Zero), Pos(Zero), Pos(x30), Pos(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x30), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x30), Pos(Zero)))) 101.93/62.93 101.93/62.93 (11) (new_error=Pos(Succ(x20)) ==> new_quot(x9, Pos(x33), Neg(Zero), Neg(Zero), Pos(x33), Neg(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x33), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x33), Neg(Zero)))) 101.93/62.93 101.93/62.93 (12) (new_error=Pos(Succ(x20)) ==> new_quot(x9, Neg(x34), Pos(Zero), Pos(Zero), Neg(x34), Pos(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x34), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x34), Pos(Zero)))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 101.93/62.93 101.93/62.93 (13) (new_primModNatS1(x24, x23)=Succ(x20) ==> new_quot(x9, Pos(x24), Neg(Succ(x23)), Neg(Succ(x23)), Pos(x24), Neg(Succ(x23)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x24), Neg(Succ(x23))), Pos(Zero)), Neg(Succ(x23)), new_primRemInt(Pos(x24), Neg(Succ(x23))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (8) using rules (I), (II) which results in the following new constraint: 101.93/62.93 101.93/62.93 (14) (new_primModNatS1(x26, x25)=Succ(x20) ==> new_quot(x9, Pos(x26), Pos(Succ(x25)), Pos(Succ(x25)), Pos(x26), Pos(Succ(x25)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x26), Pos(Succ(x25))), Pos(Zero)), Pos(Succ(x25)), new_primRemInt(Pos(x26), Pos(Succ(x25))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 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: 101.93/62.93 101.93/62.93 (15) (Succ(Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x35))), Neg(Succ(Succ(x35))), Pos(Succ(Zero)), Neg(Succ(Succ(x35))))_>=_new_quot0(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)))))) 101.93/62.93 101.93/62.93 (16) (new_primModNatS1(new_primMinusNatS0(x37), Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Succ(x37))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x37))), Neg(Succ(Zero)))_>=_new_quot0(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))))) 101.93/62.93 101.93/62.93 (17) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 101.93/62.93 101.93/62.93 (18) (new_primModNatS02(x39, x38, x39, x38)=Succ(x20) ==> new_quot(x9, Pos(Succ(Succ(x39))), Neg(Succ(Succ(x38))), Neg(Succ(Succ(x38))), Pos(Succ(Succ(x39))), Neg(Succ(Succ(x38))))_>=_new_quot0(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)))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 101.93/62.93 101.93/62.93 (19) (new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x35))), Neg(Succ(Succ(x35))), Pos(Succ(Zero)), Neg(Succ(Succ(x35))))_>=_new_quot0(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)))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.93 101.93/62.93 (20) (new_quot(x9, Pos(Succ(Succ(x37))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x37))), Neg(Succ(Zero)))_>=_new_quot0(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))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.93 101.93/62.93 (21) (new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.93 101.93/62.93 (22) (new_quot(x9, Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45))), Neg(Succ(Succ(x45))), Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45)))), Pos(Zero)), Neg(Succ(Succ(x45))), new_primRemInt(Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45)))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 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: 101.93/62.93 101.93/62.93 (23) (Succ(Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x46))), Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))), Pos(Zero)), Pos(Succ(Succ(x46))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))))) 101.93/62.93 101.93/62.93 (24) (new_primModNatS1(new_primMinusNatS0(x48), Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Succ(x48))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x48))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))))) 101.93/62.93 101.93/62.93 (25) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x20) ==> new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 101.93/62.93 101.93/62.93 (26) (new_primModNatS02(x50, x49, x50, x49)=Succ(x20) ==> new_quot(x9, Pos(Succ(Succ(x50))), Pos(Succ(Succ(x49))), Pos(Succ(Succ(x49))), Pos(Succ(Succ(x50))), Pos(Succ(Succ(x49))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x50))), Pos(Succ(Succ(x49)))), Pos(Zero)), Pos(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Succ(x50))), Pos(Succ(Succ(x49)))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 101.93/62.93 101.93/62.93 (27) (new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x46))), Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))), Pos(Zero)), Pos(Succ(Succ(x46))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.93 101.93/62.93 (28) (new_quot(x9, Pos(Succ(Succ(x48))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x48))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.93 101.93/62.93 (29) (new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.93 101.93/62.93 (30) (new_quot(x9, Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56)))), Pos(Zero)), Pos(Succ(Succ(x56))), new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56)))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 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: 101.93/62.93 101.93/62.93 (31) (new_error=Neg(Succ(x22)) ==> new_quot(x9, Neg(x61), Neg(Zero), Neg(Zero), Neg(x61), Neg(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x61), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x61), Neg(Zero)))) 101.93/62.93 101.93/62.93 (32) (Neg(new_primModNatS1(x63, x62))=Neg(Succ(x22)) ==> new_quot(x9, Neg(x63), Pos(Succ(x62)), Pos(Succ(x62)), Neg(x63), Pos(Succ(x62)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x63), Pos(Succ(x62))), Pos(Zero)), Pos(Succ(x62)), new_primRemInt(Neg(x63), Pos(Succ(x62))))) 101.93/62.93 101.93/62.93 (33) (new_error=Neg(Succ(x22)) ==> new_quot(x9, Pos(x64), Pos(Zero), Pos(Zero), Pos(x64), Pos(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x64), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x64), Pos(Zero)))) 101.93/62.93 101.93/62.93 (34) (Neg(new_primModNatS1(x66, x65))=Neg(Succ(x22)) ==> new_quot(x9, Neg(x66), Neg(Succ(x65)), Neg(Succ(x65)), Neg(x66), Neg(Succ(x65)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x66), Neg(Succ(x65))), Pos(Zero)), Neg(Succ(x65)), new_primRemInt(Neg(x66), Neg(Succ(x65))))) 101.93/62.93 101.93/62.93 (35) (new_error=Neg(Succ(x22)) ==> new_quot(x9, Pos(x67), Neg(Zero), Neg(Zero), Pos(x67), Neg(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(x67), Neg(Zero)), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x67), Neg(Zero)))) 101.93/62.93 101.93/62.93 (36) (new_error=Neg(Succ(x22)) ==> new_quot(x9, Neg(x68), Pos(Zero), Pos(Zero), Neg(x68), Pos(Zero))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x68), Pos(Zero)), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x68), Pos(Zero)))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 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: 101.93/62.93 101.93/62.93 (37) (new_primModNatS1(x63, x62)=Succ(x22) ==> new_quot(x9, Neg(x63), Pos(Succ(x62)), Pos(Succ(x62)), Neg(x63), Pos(Succ(x62)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x63), Pos(Succ(x62))), Pos(Zero)), Pos(Succ(x62)), new_primRemInt(Neg(x63), Pos(Succ(x62))))) 101.93/62.93 101.93/62.93 101.93/62.93 101.93/62.93 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: 101.93/62.93 101.93/62.93 (38) (new_primModNatS1(x66, x65)=Succ(x22) ==> new_quot(x9, Neg(x66), Neg(Succ(x65)), Neg(Succ(x65)), Neg(x66), Neg(Succ(x65)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(x66), Neg(Succ(x65))), Pos(Zero)), Neg(Succ(x65)), new_primRemInt(Neg(x66), Neg(Succ(x65))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We solved constraint (35) using rule (V) (with possible (I) afterwards).We solved constraint (36) using rule (V) (with possible (I) afterwards).We simplified constraint (37) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x63, x62)=Succ(x22) which results in the following new constraints: 101.93/62.94 101.93/62.94 (39) (Succ(Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x69))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))), Pos(Zero)), Pos(Succ(Succ(x69))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))))) 101.93/62.94 101.93/62.94 (40) (new_primModNatS1(new_primMinusNatS0(x71), Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Succ(x71))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))))) 101.93/62.94 101.93/62.94 (41) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 101.93/62.94 101.93/62.94 (42) (new_primModNatS02(x73, x72, x73, x72)=Succ(x22) ==> new_quot(x9, Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72))), Pos(Succ(Succ(x72))), Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72)))), Pos(Zero)), Pos(Succ(Succ(x72))), new_primRemInt(Neg(Succ(Succ(x73))), Pos(Succ(Succ(x72)))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: 101.93/62.94 101.93/62.94 (43) (new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x69))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))), Pos(Zero)), Pos(Succ(Succ(x69))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.94 101.93/62.94 (44) (new_quot(x9, Neg(Succ(Succ(x71))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.94 101.93/62.94 (45) (new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.94 101.93/62.94 (46) (new_quot(x9, Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79))), Pos(Succ(Succ(x79))), Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79)))), Pos(Zero)), Pos(Succ(Succ(x79))), new_primRemInt(Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79)))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x66, x65)=Succ(x22) which results in the following new constraints: 101.93/62.94 101.93/62.94 (47) (Succ(Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x80))), Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))), Pos(Zero)), Neg(Succ(Succ(x80))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))))) 101.93/62.94 101.93/62.94 (48) (new_primModNatS1(new_primMinusNatS0(x82), Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Succ(x82))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x82))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))))) 101.93/62.94 101.93/62.94 (49) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x22) ==> new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 101.93/62.94 101.93/62.94 (50) (new_primModNatS02(x84, x83, x84, x83)=Succ(x22) ==> new_quot(x9, Neg(Succ(Succ(x84))), Neg(Succ(Succ(x83))), Neg(Succ(Succ(x83))), Neg(Succ(Succ(x84))), Neg(Succ(Succ(x83))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x84))), Neg(Succ(Succ(x83)))), Pos(Zero)), Neg(Succ(Succ(x83))), new_primRemInt(Neg(Succ(Succ(x84))), Neg(Succ(Succ(x83)))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: 101.93/62.94 101.93/62.94 (51) (new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x80))), Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))), Pos(Zero)), Neg(Succ(Succ(x80))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.94 101.93/62.94 (52) (new_quot(x9, Neg(Succ(Succ(x82))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x82))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.94 101.93/62.94 (53) (new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: 101.93/62.94 101.93/62.94 (54) (new_quot(x9, Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90))), Neg(Succ(Succ(x90))), Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90)))), Pos(Zero)), Neg(Succ(Succ(x90))), new_primRemInt(Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90)))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 To summarize, we get the following constraints P__>=_ for the following pairs. 101.93/62.94 101.93/62.94 *new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.94 101.93/62.94 *(new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x5, x4, x5)) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 *new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 101.93/62.94 101.93/62.94 *(new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x35))), Neg(Succ(Succ(x35))), Pos(Succ(Zero)), Neg(Succ(Succ(x35))))_>=_new_quot0(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)))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x46))), Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))), Pos(Zero)), Pos(Succ(Succ(x46))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x46)))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x69))), Pos(Succ(Succ(x69))), Neg(Succ(Zero)), Pos(Succ(Succ(x69))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))), Pos(Zero)), Pos(Succ(Succ(x69))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x69)))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x80))), Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))), Pos(Zero)), Neg(Succ(Succ(x80))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x80)))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Pos(Succ(Succ(x37))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x37))), Neg(Succ(Zero)))_>=_new_quot0(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))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45))), Neg(Succ(Succ(x45))), Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45)))), Pos(Zero)), Neg(Succ(Succ(x45))), new_primRemInt(Pos(Succ(Succ(x44))), Neg(Succ(Succ(x45)))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Pos(Succ(Succ(x48))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x48))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x56))), Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56)))), Pos(Zero)), Pos(Succ(Succ(x56))), new_primRemInt(Pos(Succ(Succ(x55))), Pos(Succ(Succ(x56)))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Neg(Succ(Succ(x71))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x71))), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))), Pos(Zero)), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79))), Pos(Succ(Succ(x79))), Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79)))), Pos(Zero)), Pos(Succ(Succ(x79))), new_primRemInt(Neg(Succ(Succ(x78))), Pos(Succ(Succ(x79)))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Neg(Succ(Succ(x82))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x82))), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))), Pos(Zero)), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 101.93/62.94 101.93/62.94 101.93/62.94 *(new_quot(x9, Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90))), Neg(Succ(Succ(x90))), Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90))))_>=_new_quot0(x9, new_primEqInt(new_primRemInt(Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90)))), Pos(Zero)), Neg(Succ(Succ(x90))), new_primRemInt(Neg(Succ(Succ(x89))), Neg(Succ(Succ(x90)))))) 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 101.93/62.94 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 101.93/62.94 ---------------------------------------- 101.93/62.94 101.93/62.94 (42) 101.93/62.94 Obligation: 101.93/62.94 Q DP problem: 101.93/62.94 The TRS P consists of the following rules: 101.93/62.94 101.93/62.94 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.94 new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) 101.93/62.94 101.93/62.94 The TRS R consists of the following rules: 101.93/62.94 101.93/62.94 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.94 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.94 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.94 new_error -> error([]) 101.93/62.94 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.94 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.94 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.94 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.94 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.94 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.94 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.94 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.94 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.94 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.94 new_primMinusNatS1 -> Zero 101.93/62.94 101.93/62.94 The set Q consists of the following terms: 101.93/62.94 101.93/62.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.94 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.94 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.94 new_primMinusNatS1 101.93/62.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.94 new_primModNatS01(x0, x1) 101.93/62.94 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.94 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.94 new_primModNatS1(Zero, x0) 101.93/62.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.94 new_primMinusNatS2(Zero, Zero) 101.93/62.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.94 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.94 new_error 101.93/62.94 new_primModNatS1(Succ(Zero), Zero) 101.93/62.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.94 new_primMinusNatS0(x0) 101.93/62.94 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.94 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.94 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.94 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.94 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.94 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.94 101.93/62.94 We have to consider all minimal (P,Q,R)-chains. 101.93/62.94 ---------------------------------------- 101.93/62.94 101.93/62.94 (43) TransformationProof (EQUIVALENT) 101.93/62.94 By narrowing [LPAR04] the rule new_quot(z0, z1, z2, z2, z1, z2) -> new_quot0(z0, new_primEqInt(new_primRemInt(z1, z2), Pos(Zero)), z2, new_primRemInt(z1, z2)) at position [1] we obtained the following new rules [LPAR04]: 101.93/62.94 101.93/62.94 (new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))),new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1))))) 101.93/62.94 (new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))),new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1))))) 101.93/62.94 (new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) 101.93/62.94 (new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))),new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1))))) 101.93/62.94 (new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) 101.93/62.94 (new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))),new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1))))) 101.93/62.94 (new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) 101.93/62.94 (new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) 101.93/62.94 101.93/62.94 101.93/62.94 ---------------------------------------- 101.93/62.94 101.93/62.94 (44) 101.93/62.94 Obligation: 101.93/62.94 Q DP problem: 101.93/62.94 The TRS P consists of the following rules: 101.93/62.94 101.93/62.94 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.94 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))) 101.93/62.94 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) 101.93/62.94 new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 101.93/62.94 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 101.93/62.94 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.94 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.94 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.94 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.94 101.93/62.94 The TRS R consists of the following rules: 101.93/62.94 101.93/62.94 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.94 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.94 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.94 new_error -> error([]) 101.93/62.94 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.94 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.94 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.94 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.94 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.94 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.94 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.94 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.94 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.94 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.94 new_primMinusNatS1 -> Zero 101.93/62.94 101.93/62.94 The set Q consists of the following terms: 101.93/62.94 101.93/62.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.94 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.94 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.94 new_primMinusNatS1 101.93/62.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.94 new_primModNatS01(x0, x1) 101.93/62.94 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.94 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.94 new_primModNatS1(Zero, x0) 101.93/62.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.94 new_primMinusNatS2(Zero, Zero) 101.93/62.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.94 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.94 new_error 101.93/62.94 new_primModNatS1(Succ(Zero), Zero) 101.93/62.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.94 new_primMinusNatS0(x0) 101.93/62.94 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.94 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.94 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.94 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.94 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.94 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.94 101.93/62.94 We have to consider all minimal (P,Q,R)-chains. 101.93/62.94 ---------------------------------------- 101.93/62.94 101.93/62.94 (45) TransformationProof (EQUIVALENT) 101.93/62.94 By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(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]: 101.93/62.94 101.93/62.94 (new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 101.93/62.94 101.93/62.94 101.93/62.94 ---------------------------------------- 101.93/62.94 101.93/62.94 (46) 101.93/62.94 Obligation: 101.93/62.94 Q DP problem: 101.93/62.94 The TRS P consists of the following rules: 101.93/62.94 101.93/62.94 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.94 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) 101.93/62.94 new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 101.93/62.94 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 101.93/62.94 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.94 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.94 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.94 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.94 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.94 101.93/62.94 The TRS R consists of the following rules: 101.93/62.94 101.93/62.94 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.94 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.94 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.94 new_error -> error([]) 101.93/62.94 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.94 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.94 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.94 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.94 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.94 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.94 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.94 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.94 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.94 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.94 new_primMinusNatS1 -> Zero 101.93/62.94 101.93/62.94 The set Q consists of the following terms: 101.93/62.94 101.93/62.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.94 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.94 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.94 new_primMinusNatS1 101.93/62.94 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.94 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.94 new_primModNatS01(x0, x1) 101.93/62.94 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.94 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.94 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.94 new_primModNatS1(Zero, x0) 101.93/62.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.94 new_primMinusNatS2(Zero, Zero) 101.93/62.94 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.94 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.94 new_error 101.93/62.94 new_primModNatS1(Succ(Zero), Zero) 101.93/62.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.94 new_primMinusNatS0(x0) 101.93/62.94 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.94 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.94 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.94 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.94 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.94 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.94 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.94 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.94 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.94 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.94 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.94 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.94 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.94 101.93/62.94 We have to consider all minimal (P,Q,R)-chains. 101.93/62.94 ---------------------------------------- 101.93/62.94 101.93/62.94 (47) UsableRulesProof (EQUIVALENT) 101.93/62.94 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.94 ---------------------------------------- 101.93/62.94 101.93/62.94 (48) 101.93/62.94 Obligation: 101.93/62.94 Q DP problem: 101.93/62.94 The TRS P consists of the following rules: 101.93/62.94 101.93/62.94 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.94 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) 101.93/62.94 new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 101.93/62.94 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 101.93/62.94 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.94 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.94 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.94 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.94 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.94 101.93/62.94 The TRS R consists of the following rules: 101.93/62.94 101.93/62.94 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.94 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.94 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.94 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.94 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.94 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.94 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.94 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.94 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.94 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.94 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.94 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.94 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.94 new_primMinusNatS1 -> Zero 101.93/62.94 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.94 new_error -> error([]) 101.93/62.94 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.94 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.94 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.94 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.94 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.94 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (49) TransformationProof (EQUIVALENT) 101.93/62.95 By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(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]: 101.93/62.95 101.93/62.95 (new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 101.93/62.95 101.93/62.95 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (50) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 101.93/62.95 The TRS R consists of the following rules: 101.93/62.95 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.95 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.95 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.95 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.95 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.95 new_primMinusNatS1 -> Zero 101.93/62.95 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.95 new_error -> error([]) 101.93/62.95 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (51) UsableRulesProof (EQUIVALENT) 101.93/62.95 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (52) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 101.93/62.95 The TRS R consists of the following rules: 101.93/62.95 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.95 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.95 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.95 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.95 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.95 new_primMinusNatS1 -> Zero 101.93/62.95 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.95 new_error -> error([]) 101.93/62.95 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (53) TransformationProof (EQUIVALENT) 101.93/62.95 By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(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]: 101.93/62.95 101.93/62.95 (new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) 101.93/62.95 101.93/62.95 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (54) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Zero), Neg(Zero), Neg(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 101.93/62.95 101.93/62.95 The TRS R consists of the following rules: 101.93/62.95 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.95 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.95 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.95 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.95 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.95 new_primMinusNatS1 -> Zero 101.93/62.95 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.95 new_error -> error([]) 101.93/62.95 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (55) DependencyGraphProof (EQUIVALENT) 101.93/62.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (56) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 101.93/62.95 The TRS R consists of the following rules: 101.93/62.95 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.95 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.95 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.95 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.95 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.95 new_primMinusNatS1 -> Zero 101.93/62.95 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.95 new_error -> error([]) 101.93/62.95 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (57) UsableRulesProof (EQUIVALENT) 101.93/62.95 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (58) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 101.93/62.95 The TRS R consists of the following rules: 101.93/62.95 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.95 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.95 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.95 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.95 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.95 new_primMinusNatS1 -> Zero 101.93/62.95 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.95 new_error -> error([]) 101.93/62.95 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (59) TransformationProof (EQUIVALENT) 101.93/62.95 By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(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]: 101.93/62.95 101.93/62.95 (new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 101.93/62.95 101.93/62.95 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (60) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.95 101.93/62.95 The TRS R consists of the following rules: 101.93/62.95 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.95 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.95 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.95 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.95 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.95 new_primMinusNatS1 -> Zero 101.93/62.95 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.95 new_error -> error([]) 101.93/62.95 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (61) UsableRulesProof (EQUIVALENT) 101.93/62.95 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (62) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.95 101.93/62.95 The TRS R consists of the following rules: 101.93/62.95 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.95 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.95 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.95 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.95 new_primMinusNatS1 -> Zero 101.93/62.95 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.95 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.95 new_error -> error([]) 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (63) TransformationProof (EQUIVALENT) 101.93/62.95 By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(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]: 101.93/62.95 101.93/62.95 (new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) 101.93/62.95 101.93/62.95 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (64) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Zero), Pos(Zero), Pos(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 101.93/62.95 101.93/62.95 The TRS R consists of the following rules: 101.93/62.95 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.95 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.95 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.95 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.95 new_primMinusNatS1 -> Zero 101.93/62.95 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.95 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.95 new_error -> error([]) 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (65) DependencyGraphProof (EQUIVALENT) 101.93/62.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (66) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.95 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.95 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.95 101.93/62.95 The TRS R consists of the following rules: 101.93/62.95 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.95 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.95 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.95 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.95 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.95 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.95 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.95 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.95 new_primMinusNatS1 -> Zero 101.93/62.95 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.95 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.95 new_error -> error([]) 101.93/62.95 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.95 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.95 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 101.93/62.95 101.93/62.95 The set Q consists of the following terms: 101.93/62.95 101.93/62.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.95 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.95 new_primMinusNatS1 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.95 new_primModNatS01(x0, x1) 101.93/62.95 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.95 new_primModNatS1(Zero, x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS2(Zero, Zero) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.95 new_error 101.93/62.95 new_primModNatS1(Succ(Zero), Zero) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.95 new_primMinusNatS0(x0) 101.93/62.95 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.95 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.95 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.95 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.95 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.95 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.95 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.95 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.95 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.95 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.95 101.93/62.95 We have to consider all minimal (P,Q,R)-chains. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (67) UsableRulesProof (EQUIVALENT) 101.93/62.95 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.95 ---------------------------------------- 101.93/62.95 101.93/62.95 (68) 101.93/62.95 Obligation: 101.93/62.95 Q DP problem: 101.93/62.95 The TRS P consists of the following rules: 101.93/62.95 101.93/62.95 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 101.93/62.95 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 101.93/62.96 The TRS R consists of the following rules: 101.93/62.96 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.96 new_primMinusNatS1 -> Zero 101.93/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.96 new_error -> error([]) 101.93/62.96 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.96 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.96 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.96 101.93/62.96 The set Q consists of the following terms: 101.93/62.96 101.93/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.96 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.96 new_primMinusNatS1 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.96 new_primModNatS01(x0, x1) 101.93/62.96 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.96 new_primModNatS1(Zero, x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS2(Zero, Zero) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.96 new_error 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS0(x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.96 101.93/62.96 We have to consider all minimal (P,Q,R)-chains. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (69) TransformationProof (EQUIVALENT) 101.93/62.96 By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(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]: 101.93/62.96 101.93/62.96 (new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 101.93/62.96 101.93/62.96 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (70) 101.93/62.96 Obligation: 101.93/62.96 Q DP problem: 101.93/62.96 The TRS P consists of the following rules: 101.93/62.96 101.93/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 101.93/62.96 The TRS R consists of the following rules: 101.93/62.96 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.96 new_primMinusNatS1 -> Zero 101.93/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.96 new_error -> error([]) 101.93/62.96 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.96 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.96 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 101.93/62.96 101.93/62.96 The set Q consists of the following terms: 101.93/62.96 101.93/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.96 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.96 new_primMinusNatS1 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.96 new_primModNatS01(x0, x1) 101.93/62.96 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.96 new_primModNatS1(Zero, x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS2(Zero, Zero) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.96 new_error 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS0(x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.96 101.93/62.96 We have to consider all minimal (P,Q,R)-chains. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (71) UsableRulesProof (EQUIVALENT) 101.93/62.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (72) 101.93/62.96 Obligation: 101.93/62.96 Q DP problem: 101.93/62.96 The TRS P consists of the following rules: 101.93/62.96 101.93/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 101.93/62.96 The TRS R consists of the following rules: 101.93/62.96 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.96 new_primMinusNatS1 -> Zero 101.93/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.96 new_error -> error([]) 101.93/62.96 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.96 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.96 101.93/62.96 The set Q consists of the following terms: 101.93/62.96 101.93/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.96 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.96 new_primMinusNatS1 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.96 new_primModNatS01(x0, x1) 101.93/62.96 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.96 new_primModNatS1(Zero, x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS2(Zero, Zero) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.96 new_error 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS0(x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.96 101.93/62.96 We have to consider all minimal (P,Q,R)-chains. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (73) TransformationProof (EQUIVALENT) 101.93/62.96 By rewriting [LPAR04] the rule new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(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]: 101.93/62.96 101.93/62.96 (new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) 101.93/62.96 101.93/62.96 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (74) 101.93/62.96 Obligation: 101.93/62.96 Q DP problem: 101.93/62.96 The TRS P consists of the following rules: 101.93/62.96 101.93/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Zero), Neg(Zero), Pos(x0), Neg(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 101.93/62.96 101.93/62.96 The TRS R consists of the following rules: 101.93/62.96 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.96 new_primMinusNatS1 -> Zero 101.93/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.96 new_error -> error([]) 101.93/62.96 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.96 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.96 101.93/62.96 The set Q consists of the following terms: 101.93/62.96 101.93/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.96 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.96 new_primMinusNatS1 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.96 new_primModNatS01(x0, x1) 101.93/62.96 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.96 new_primModNatS1(Zero, x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS2(Zero, Zero) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.96 new_error 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS0(x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.96 101.93/62.96 We have to consider all minimal (P,Q,R)-chains. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (75) DependencyGraphProof (EQUIVALENT) 101.93/62.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (76) 101.93/62.96 Obligation: 101.93/62.96 Q DP problem: 101.93/62.96 The TRS P consists of the following rules: 101.93/62.96 101.93/62.96 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 101.93/62.96 The TRS R consists of the following rules: 101.93/62.96 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.96 new_primMinusNatS1 -> Zero 101.93/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.96 new_error -> error([]) 101.93/62.96 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.96 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 101.93/62.96 101.93/62.96 The set Q consists of the following terms: 101.93/62.96 101.93/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.96 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.96 new_primMinusNatS1 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.96 new_primModNatS01(x0, x1) 101.93/62.96 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.96 new_primModNatS1(Zero, x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS2(Zero, Zero) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.96 new_error 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS0(x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.96 101.93/62.96 We have to consider all minimal (P,Q,R)-chains. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (77) UsableRulesProof (EQUIVALENT) 101.93/62.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (78) 101.93/62.96 Obligation: 101.93/62.96 Q DP problem: 101.93/62.96 The TRS P consists of the following rules: 101.93/62.96 101.93/62.96 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(new_error, Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 101.93/62.96 The TRS R consists of the following rules: 101.93/62.96 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.96 new_primMinusNatS1 -> Zero 101.93/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.96 new_error -> error([]) 101.93/62.96 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.96 101.93/62.96 The set Q consists of the following terms: 101.93/62.96 101.93/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.96 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.96 new_primMinusNatS1 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.96 new_primModNatS01(x0, x1) 101.93/62.96 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.96 new_primModNatS1(Zero, x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS2(Zero, Zero) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.96 new_error 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS0(x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.96 101.93/62.96 We have to consider all minimal (P,Q,R)-chains. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (79) TransformationProof (EQUIVALENT) 101.93/62.96 By rewriting [LPAR04] the rule new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(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]: 101.93/62.96 101.93/62.96 (new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) 101.93/62.96 101.93/62.96 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (80) 101.93/62.96 Obligation: 101.93/62.96 Q DP problem: 101.93/62.96 The TRS P consists of the following rules: 101.93/62.96 101.93/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Zero), Pos(Zero), Neg(x0), Pos(Zero)) -> new_quot0(y0, new_primEqInt(error([]), Pos(Zero)), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 101.93/62.96 101.93/62.96 The TRS R consists of the following rules: 101.93/62.96 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.96 new_primMinusNatS1 -> Zero 101.93/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.96 new_error -> error([]) 101.93/62.96 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.96 101.93/62.96 The set Q consists of the following terms: 101.93/62.96 101.93/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.96 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.96 new_primMinusNatS1 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.96 new_primModNatS01(x0, x1) 101.93/62.96 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.96 new_primModNatS1(Zero, x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS2(Zero, Zero) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.96 new_error 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS0(x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.96 101.93/62.96 We have to consider all minimal (P,Q,R)-chains. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (81) DependencyGraphProof (EQUIVALENT) 101.93/62.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (82) 101.93/62.96 Obligation: 101.93/62.96 Q DP problem: 101.93/62.96 The TRS P consists of the following rules: 101.93/62.96 101.93/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 101.93/62.96 The TRS R consists of the following rules: 101.93/62.96 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.96 new_primMinusNatS1 -> Zero 101.93/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.96 new_error -> error([]) 101.93/62.96 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 101.93/62.96 101.93/62.96 The set Q consists of the following terms: 101.93/62.96 101.93/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.96 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.96 new_primMinusNatS1 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.96 new_primModNatS01(x0, x1) 101.93/62.96 new_primMinusNatS2(Succ(x0), Zero) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 101.93/62.96 new_primModNatS1(Zero, x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS2(Zero, Zero) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Zero) 101.93/62.96 new_error 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 101.93/62.96 new_primMinusNatS0(x0) 101.93/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 101.93/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 101.93/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 101.93/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 101.93/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 101.93/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 101.93/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 101.93/62.96 101.93/62.96 We have to consider all minimal (P,Q,R)-chains. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (83) UsableRulesProof (EQUIVALENT) 101.93/62.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 101.93/62.96 ---------------------------------------- 101.93/62.96 101.93/62.96 (84) 101.93/62.96 Obligation: 101.93/62.96 Q DP problem: 101.93/62.96 The TRS P consists of the following rules: 101.93/62.96 101.93/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 101.93/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 101.93/62.96 101.93/62.96 The TRS R consists of the following rules: 101.93/62.96 101.93/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 101.93/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 101.93/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 101.93/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 101.93/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 101.93/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 101.93/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 101.93/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 101.93/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 101.93/62.96 new_primMinusNatS1 -> Zero 101.93/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 101.93/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 101.93/62.96 101.93/62.96 The set Q consists of the following terms: 101.93/62.96 101.93/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 101.93/62.96 new_primMinusNatS2(Zero, Succ(x0)) 101.93/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 101.93/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 101.93/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 101.93/62.96 new_primMinusNatS1 101.93/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 101.93/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 101.93/62.96 new_primModNatS01(x0, x1) 101.93/62.96 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.96 new_primModNatS1(Zero, x0) 102.25/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.25/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.25/62.96 new_primMinusNatS2(Zero, Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.96 new_error 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) 102.25/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.25/62.96 new_primMinusNatS0(x0) 102.25/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 102.25/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.96 102.25/62.96 We have to consider all minimal (P,Q,R)-chains. 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (85) QReductionProof (EQUIVALENT) 102.25/62.96 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 102.25/62.96 102.25/62.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.25/62.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.25/62.96 new_error 102.25/62.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.25/62.96 new_primRemInt(Pos(x0), Neg(Zero)) 102.25/62.96 new_primRemInt(Neg(x0), Pos(Zero)) 102.25/62.96 new_primRemInt(Neg(x0), Neg(Zero)) 102.25/62.96 new_primRemInt(Pos(x0), Pos(Zero)) 102.25/62.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.25/62.96 102.25/62.96 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (86) 102.25/62.96 Obligation: 102.25/62.96 Q DP problem: 102.25/62.96 The TRS P consists of the following rules: 102.25/62.96 102.25/62.96 new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 102.25/62.96 The TRS R consists of the following rules: 102.25/62.96 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.96 new_primMinusNatS1 -> Zero 102.25/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.96 102.25/62.96 The set Q consists of the following terms: 102.25/62.96 102.25/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.96 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.96 new_primMinusNatS1 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.96 new_primModNatS01(x0, x1) 102.25/62.96 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.96 new_primModNatS1(Zero, x0) 102.25/62.96 new_primMinusNatS2(Zero, Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) 102.25/62.96 new_primMinusNatS0(x0) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.96 102.25/62.96 We have to consider all minimal (P,Q,R)-chains. 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (87) TransformationProof (EQUIVALENT) 102.25/62.96 By narrowing [LPAR04] the rule new_quot(y0, Pos(x0), Neg(Succ(x1)), Neg(Succ(x1)), Pos(x0), Neg(Succ(x1))) -> new_quot0(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]: 102.25/62.96 102.25/62.96 (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 102.25/62.96 (new_quot(y0, Pos(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Pos(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot(y0, Pos(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Pos(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) 102.25/62.96 (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.96 (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.25/62.96 (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 102.25/62.96 102.25/62.96 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (88) 102.25/62.96 Obligation: 102.25/62.96 Q DP problem: 102.25/62.96 The TRS P consists of the following rules: 102.25/62.96 102.25/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.96 new_quot(y0, Pos(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Pos(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.96 102.25/62.96 The TRS R consists of the following rules: 102.25/62.96 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.96 new_primMinusNatS1 -> Zero 102.25/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.96 102.25/62.96 The set Q consists of the following terms: 102.25/62.96 102.25/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.96 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.96 new_primMinusNatS1 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.96 new_primModNatS01(x0, x1) 102.25/62.96 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.96 new_primModNatS1(Zero, x0) 102.25/62.96 new_primMinusNatS2(Zero, Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) 102.25/62.96 new_primMinusNatS0(x0) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.96 102.25/62.96 We have to consider all minimal (P,Q,R)-chains. 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (89) DependencyGraphProof (EQUIVALENT) 102.25/62.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (90) 102.25/62.96 Obligation: 102.25/62.96 Q DP problem: 102.25/62.96 The TRS P consists of the following rules: 102.25/62.96 102.25/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.96 102.25/62.96 The TRS R consists of the following rules: 102.25/62.96 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.96 new_primMinusNatS1 -> Zero 102.25/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.96 102.25/62.96 The set Q consists of the following terms: 102.25/62.96 102.25/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.96 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.96 new_primMinusNatS1 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.96 new_primModNatS01(x0, x1) 102.25/62.96 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.96 new_primModNatS1(Zero, x0) 102.25/62.96 new_primMinusNatS2(Zero, Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) 102.25/62.96 new_primMinusNatS0(x0) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.96 102.25/62.96 We have to consider all minimal (P,Q,R)-chains. 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (91) TransformationProof (EQUIVALENT) 102.25/62.96 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(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]: 102.25/62.96 102.25/62.96 (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 102.25/62.96 102.25/62.96 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (92) 102.25/62.96 Obligation: 102.25/62.96 Q DP problem: 102.25/62.96 The TRS P consists of the following rules: 102.25/62.96 102.25/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.96 102.25/62.96 The TRS R consists of the following rules: 102.25/62.96 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.96 new_primMinusNatS1 -> Zero 102.25/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.96 102.25/62.96 The set Q consists of the following terms: 102.25/62.96 102.25/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.96 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.96 new_primMinusNatS1 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.96 new_primModNatS01(x0, x1) 102.25/62.96 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.96 new_primModNatS1(Zero, x0) 102.25/62.96 new_primMinusNatS2(Zero, Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) 102.25/62.96 new_primMinusNatS0(x0) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.96 102.25/62.96 We have to consider all minimal (P,Q,R)-chains. 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (93) TransformationProof (EQUIVALENT) 102.25/62.96 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, 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]: 102.25/62.96 102.25/62.96 (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.96 102.25/62.96 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (94) 102.25/62.96 Obligation: 102.25/62.96 Q DP problem: 102.25/62.96 The TRS P consists of the following rules: 102.25/62.96 102.25/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.96 102.25/62.96 The TRS R consists of the following rules: 102.25/62.96 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.96 new_primMinusNatS1 -> Zero 102.25/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.96 102.25/62.96 The set Q consists of the following terms: 102.25/62.96 102.25/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.96 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.96 new_primMinusNatS1 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.96 new_primModNatS01(x0, x1) 102.25/62.96 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.96 new_primModNatS1(Zero, x0) 102.25/62.96 new_primMinusNatS2(Zero, Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) 102.25/62.96 new_primMinusNatS0(x0) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.96 102.25/62.96 We have to consider all minimal (P,Q,R)-chains. 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (95) TransformationProof (EQUIVALENT) 102.25/62.96 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.25/62.96 102.25/62.96 (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.25/62.96 102.25/62.96 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (96) 102.25/62.96 Obligation: 102.25/62.96 Q DP problem: 102.25/62.96 The TRS P consists of the following rules: 102.25/62.96 102.25/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.96 102.25/62.96 The TRS R consists of the following rules: 102.25/62.96 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.96 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.96 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.96 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.96 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.96 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.96 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.96 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.96 new_primMinusNatS1 -> Zero 102.25/62.96 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.96 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.96 102.25/62.96 The set Q consists of the following terms: 102.25/62.96 102.25/62.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.96 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.96 new_primMinusNatS1 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.96 new_primModNatS01(x0, x1) 102.25/62.96 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.96 new_primModNatS1(Zero, x0) 102.25/62.96 new_primMinusNatS2(Zero, Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.96 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.96 new_primModNatS1(Succ(Zero), Zero) 102.25/62.96 new_primMinusNatS0(x0) 102.25/62.96 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.96 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.96 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.96 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.96 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.96 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.96 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.96 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.96 102.25/62.96 We have to consider all minimal (P,Q,R)-chains. 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (97) TransformationProof (EQUIVALENT) 102.25/62.96 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(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]: 102.25/62.96 102.25/62.96 (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) 102.25/62.96 102.25/62.96 102.25/62.96 ---------------------------------------- 102.25/62.96 102.25/62.96 (98) 102.25/62.96 Obligation: 102.25/62.96 Q DP problem: 102.25/62.96 The TRS P consists of the following rules: 102.25/62.96 102.25/62.96 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.96 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.96 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.96 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (99) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (100) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (101) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (102) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (103) DependencyGraphProof (EQUIVALENT) 102.25/62.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (104) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (105) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (106) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (107) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (108) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (109) TransformationProof (EQUIVALENT) 102.25/62.98 By narrowing [LPAR04] the rule new_quot(y0, Pos(x0), Pos(Succ(x1)), Pos(Succ(x1)), Pos(x0), Pos(Succ(x1))) -> new_quot0(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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 102.25/62.98 (new_quot(y0, Pos(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Pos(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot(y0, Pos(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Pos(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) 102.25/62.98 (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.98 (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.25/62.98 (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (110) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 new_quot(y0, Pos(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Pos(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (111) DependencyGraphProof (EQUIVALENT) 102.25/62.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (112) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (113) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (114) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (115) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, 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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (116) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (117) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (118) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (119) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (120) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (121) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (122) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (123) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (124) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (125) DependencyGraphProof (EQUIVALENT) 102.25/62.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (126) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (127) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (128) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (129) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.25/62.98 102.25/62.98 (new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (130) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (131) TransformationProof (EQUIVALENT) 102.25/62.98 By narrowing [LPAR04] the rule new_quot(y0, Neg(x0), Pos(Succ(x1)), Pos(Succ(x1)), Neg(x0), Pos(Succ(x1))) -> new_quot0(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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 102.25/62.98 (new_quot(y0, Neg(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Neg(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot(y0, Neg(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Neg(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) 102.25/62.98 (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.98 (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.25/62.98 (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (132) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 new_quot(y0, Neg(Zero), Pos(Succ(x0)), Pos(Succ(x0)), Neg(Zero), Pos(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (133) DependencyGraphProof (EQUIVALENT) 102.25/62.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (134) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (135) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (136) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (137) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, 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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (138) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.98 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.98 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.98 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.98 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.98 new_primMinusNatS1 -> Zero 102.25/62.98 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.98 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.98 102.25/62.98 The set Q consists of the following terms: 102.25/62.98 102.25/62.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.98 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.98 new_primMinusNatS1 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.98 new_primModNatS01(x0, x1) 102.25/62.98 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.98 new_primModNatS1(Zero, x0) 102.25/62.98 new_primMinusNatS2(Zero, Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.98 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) 102.25/62.98 new_primMinusNatS0(x0) 102.25/62.98 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.98 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.98 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.98 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.98 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.98 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.98 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.98 102.25/62.98 We have to consider all minimal (P,Q,R)-chains. 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (139) TransformationProof (EQUIVALENT) 102.25/62.98 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.25/62.98 102.25/62.98 (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.25/62.98 102.25/62.98 102.25/62.98 ---------------------------------------- 102.25/62.98 102.25/62.98 (140) 102.25/62.98 Obligation: 102.25/62.98 Q DP problem: 102.25/62.98 The TRS P consists of the following rules: 102.25/62.98 102.25/62.98 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.98 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.98 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.98 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.98 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.98 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.98 102.25/62.98 The TRS R consists of the following rules: 102.25/62.98 102.25/62.98 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.98 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.98 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.98 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.98 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (141) TransformationProof (EQUIVALENT) 102.25/62.99 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(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]: 102.25/62.99 102.25/62.99 (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) 102.25/62.99 102.25/62.99 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (142) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (143) TransformationProof (EQUIVALENT) 102.25/62.99 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 102.25/62.99 102.25/62.99 (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 102.25/62.99 102.25/62.99 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (144) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (145) TransformationProof (EQUIVALENT) 102.25/62.99 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(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]: 102.25/62.99 102.25/62.99 (new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.99 102.25/62.99 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (146) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (147) DependencyGraphProof (EQUIVALENT) 102.25/62.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (148) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (149) TransformationProof (EQUIVALENT) 102.25/62.99 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(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]: 102.25/62.99 102.25/62.99 (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.25/62.99 102.25/62.99 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (150) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (151) TransformationProof (EQUIVALENT) 102.25/62.99 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.25/62.99 102.25/62.99 (new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.25/62.99 102.25/62.99 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (152) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(x0, x1)), Pos(Zero)), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (153) TransformationProof (EQUIVALENT) 102.25/62.99 By narrowing [LPAR04] the rule new_quot(y0, Neg(x0), Neg(Succ(x1)), Neg(Succ(x1)), Neg(x0), Neg(Succ(x1))) -> new_quot0(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]: 102.25/62.99 102.25/62.99 (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 102.25/62.99 (new_quot(y0, Neg(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Neg(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot(y0, Neg(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Neg(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) 102.25/62.99 (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.99 (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.25/62.99 (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 102.25/62.99 102.25/62.99 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (154) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.99 new_quot(y0, Neg(Zero), Neg(Succ(x0)), Neg(Succ(x0)), Neg(Zero), Neg(Succ(x0))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (155) DependencyGraphProof (EQUIVALENT) 102.25/62.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (156) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (157) TransformationProof (EQUIVALENT) 102.25/62.99 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(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]: 102.25/62.99 102.25/62.99 (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 102.25/62.99 102.25/62.99 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (158) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (159) TransformationProof (EQUIVALENT) 102.25/62.99 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, 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]: 102.25/62.99 102.25/62.99 (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.25/62.99 102.25/62.99 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (160) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.25/62.99 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.25/62.99 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.25/62.99 102.25/62.99 The TRS R consists of the following rules: 102.25/62.99 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.25/62.99 new_primModNatS1(Zero, vuz15500) -> Zero 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.25/62.99 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.25/62.99 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.25/62.99 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.25/62.99 new_primMinusNatS2(Zero, Zero) -> Zero 102.25/62.99 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.25/62.99 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.25/62.99 new_primMinusNatS1 -> Zero 102.25/62.99 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.25/62.99 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.25/62.99 102.25/62.99 The set Q consists of the following terms: 102.25/62.99 102.25/62.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.25/62.99 new_primMinusNatS2(Zero, Succ(x0)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Zero)) 102.25/62.99 new_primMinusNatS1 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.25/62.99 new_primModNatS01(x0, x1) 102.25/62.99 new_primMinusNatS2(Succ(x0), Zero) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Zero) 102.25/62.99 new_primModNatS1(Zero, x0) 102.25/62.99 new_primMinusNatS2(Zero, Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.25/62.99 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Zero) 102.25/62.99 new_primModNatS1(Succ(Zero), Zero) 102.25/62.99 new_primMinusNatS0(x0) 102.25/62.99 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.25/62.99 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.25/62.99 new_primModNatS1(Succ(Zero), Succ(x0)) 102.25/62.99 new_primEqInt(Neg(Zero), Neg(Zero)) 102.25/62.99 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.25/62.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.25/62.99 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.25/62.99 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.25/62.99 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.25/62.99 102.25/62.99 We have to consider all minimal (P,Q,R)-chains. 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (161) TransformationProof (EQUIVALENT) 102.25/62.99 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.25/62.99 102.25/62.99 (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.25/62.99 102.25/62.99 102.25/62.99 ---------------------------------------- 102.25/62.99 102.25/62.99 (162) 102.25/62.99 Obligation: 102.25/62.99 Q DP problem: 102.25/62.99 The TRS P consists of the following rules: 102.25/62.99 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.25/62.99 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.25/62.99 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.00 102.37/63.00 The TRS R consists of the following rules: 102.37/63.00 102.37/63.00 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.00 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.00 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.00 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.00 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.00 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.00 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.00 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.00 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.00 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.00 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.00 new_primMinusNatS1 -> Zero 102.37/63.00 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.00 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.00 102.37/63.00 The set Q consists of the following terms: 102.37/63.00 102.37/63.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.00 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.00 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.00 new_primMinusNatS1 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.00 new_primModNatS01(x0, x1) 102.37/63.00 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.00 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.00 new_primModNatS1(Zero, x0) 102.37/63.00 new_primMinusNatS2(Zero, Zero) 102.37/63.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.00 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.00 new_primModNatS1(Succ(Zero), Zero) 102.37/63.00 new_primMinusNatS0(x0) 102.37/63.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.00 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.00 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.00 102.37/63.00 We have to consider all minimal (P,Q,R)-chains. 102.37/63.00 ---------------------------------------- 102.37/63.00 102.37/63.00 (163) TransformationProof (EQUIVALENT) 102.37/63.00 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(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]: 102.37/63.00 102.37/63.00 (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) 102.37/63.00 102.37/63.00 102.37/63.00 ---------------------------------------- 102.37/63.00 102.37/63.00 (164) 102.37/63.00 Obligation: 102.37/63.00 Q DP problem: 102.37/63.00 The TRS P consists of the following rules: 102.37/63.00 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.00 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 102.37/63.00 The TRS R consists of the following rules: 102.37/63.00 102.37/63.00 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.00 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.00 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.00 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.00 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.00 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.00 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.00 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.00 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.00 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.00 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.00 new_primMinusNatS1 -> Zero 102.37/63.00 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.00 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.00 102.37/63.00 The set Q consists of the following terms: 102.37/63.00 102.37/63.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.00 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.00 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.00 new_primMinusNatS1 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.00 new_primModNatS01(x0, x1) 102.37/63.00 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.00 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.00 new_primModNatS1(Zero, x0) 102.37/63.00 new_primMinusNatS2(Zero, Zero) 102.37/63.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.00 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.00 new_primModNatS1(Succ(Zero), Zero) 102.37/63.00 new_primMinusNatS0(x0) 102.37/63.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.00 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.00 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.00 102.37/63.00 We have to consider all minimal (P,Q,R)-chains. 102.37/63.00 ---------------------------------------- 102.37/63.00 102.37/63.00 (165) TransformationProof (EQUIVALENT) 102.37/63.00 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 102.37/63.00 102.37/63.00 (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 102.37/63.00 102.37/63.00 102.37/63.00 ---------------------------------------- 102.37/63.00 102.37/63.00 (166) 102.37/63.00 Obligation: 102.37/63.00 Q DP problem: 102.37/63.00 The TRS P consists of the following rules: 102.37/63.00 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.00 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.00 102.37/63.00 The TRS R consists of the following rules: 102.37/63.00 102.37/63.00 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.00 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.00 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.00 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.00 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.00 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.00 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.00 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.00 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.00 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.00 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.00 new_primMinusNatS1 -> Zero 102.37/63.00 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.00 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.00 102.37/63.00 The set Q consists of the following terms: 102.37/63.00 102.37/63.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.00 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.00 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.00 new_primMinusNatS1 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.00 new_primModNatS01(x0, x1) 102.37/63.00 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.00 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.00 new_primModNatS1(Zero, x0) 102.37/63.00 new_primMinusNatS2(Zero, Zero) 102.37/63.00 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.00 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.00 new_primModNatS1(Succ(Zero), Zero) 102.37/63.00 new_primMinusNatS0(x0) 102.37/63.00 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.00 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.00 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.00 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.00 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.00 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.00 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.00 102.37/63.00 We have to consider all minimal (P,Q,R)-chains. 102.37/63.00 ---------------------------------------- 102.37/63.00 102.37/63.00 (167) TransformationProof (EQUIVALENT) 102.37/63.00 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(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]: 102.37/63.00 102.37/63.00 (new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.37/63.00 102.37/63.00 102.37/63.00 ---------------------------------------- 102.37/63.00 102.37/63.00 (168) 102.37/63.00 Obligation: 102.37/63.00 Q DP problem: 102.37/63.00 The TRS P consists of the following rules: 102.37/63.00 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.00 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.00 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.00 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.37/63.00 102.37/63.00 The TRS R consists of the following rules: 102.37/63.00 102.37/63.00 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.00 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.00 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.00 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.00 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.00 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.00 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.00 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.00 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.00 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.00 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.00 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.00 new_primMinusNatS1 -> Zero 102.37/63.00 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.00 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.00 102.37/63.00 The set Q consists of the following terms: 102.37/63.00 102.37/63.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.00 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.00 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.00 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.00 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.00 new_primMinusNatS1 102.37/63.00 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.00 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.00 new_primModNatS01(x0, x1) 102.37/63.00 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.00 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.00 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (169) DependencyGraphProof (EQUIVALENT) 102.37/63.01 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (170) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (171) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (172) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (173) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.37/63.01 102.37/63.01 (new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (174) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (175) TransformationProof (EQUIVALENT) 102.37/63.01 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))))) 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (176) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (177) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (178) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (179) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (180) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (181) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (182) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (183) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (184) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (185) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (186) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (187) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (188) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (189) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (190) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (191) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (192) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (193) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (194) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (195) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (196) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (197) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (198) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (199) DependencyGraphProof (EQUIVALENT) 102.37/63.01 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (200) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (201) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (202) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (203) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (204) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (205) TransformationProof (EQUIVALENT) 102.37/63.01 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (206) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.01 new_primModNatS1(Zero, x0) 102.37/63.01 new_primMinusNatS2(Zero, Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) 102.37/63.01 new_primMinusNatS0(x0) 102.37/63.01 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.01 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.01 102.37/63.01 We have to consider all minimal (P,Q,R)-chains. 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (207) TransformationProof (EQUIVALENT) 102.37/63.01 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(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]: 102.37/63.01 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.37/63.01 (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.37/63.01 102.37/63.01 102.37/63.01 ---------------------------------------- 102.37/63.01 102.37/63.01 (208) 102.37/63.01 Obligation: 102.37/63.01 Q DP problem: 102.37/63.01 The TRS P consists of the following rules: 102.37/63.01 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.01 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.01 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.37/63.01 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.01 102.37/63.01 The TRS R consists of the following rules: 102.37/63.01 102.37/63.01 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.01 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.01 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.01 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.01 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.01 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.01 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.01 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.01 new_primMinusNatS1 -> Zero 102.37/63.01 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.01 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.01 102.37/63.01 The set Q consists of the following terms: 102.37/63.01 102.37/63.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.01 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.01 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.01 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.01 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.01 new_primMinusNatS1 102.37/63.01 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.01 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.01 new_primModNatS01(x0, x1) 102.37/63.01 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.01 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.03 new_primModNatS1(Zero, x0) 102.37/63.03 new_primMinusNatS2(Zero, Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) 102.37/63.03 new_primMinusNatS0(x0) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.03 102.37/63.03 We have to consider all minimal (P,Q,R)-chains. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (209) TransformationProof (EQUIVALENT) 102.37/63.03 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, 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]: 102.37/63.03 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.37/63.03 102.37/63.03 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (210) 102.37/63.03 Obligation: 102.37/63.03 Q DP problem: 102.37/63.03 The TRS P consists of the following rules: 102.37/63.03 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.37/63.03 102.37/63.03 The TRS R consists of the following rules: 102.37/63.03 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.03 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.03 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.03 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.03 new_primMinusNatS1 -> Zero 102.37/63.03 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.03 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.03 102.37/63.03 The set Q consists of the following terms: 102.37/63.03 102.37/63.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.03 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.03 new_primMinusNatS1 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.03 new_primModNatS01(x0, x1) 102.37/63.03 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.03 new_primModNatS1(Zero, x0) 102.37/63.03 new_primMinusNatS2(Zero, Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) 102.37/63.03 new_primMinusNatS0(x0) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.03 102.37/63.03 We have to consider all minimal (P,Q,R)-chains. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (211) TransformationProof (EQUIVALENT) 102.37/63.03 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.37/63.03 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.37/63.03 102.37/63.03 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (212) 102.37/63.03 Obligation: 102.37/63.03 Q DP problem: 102.37/63.03 The TRS P consists of the following rules: 102.37/63.03 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.03 102.37/63.03 The TRS R consists of the following rules: 102.37/63.03 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.03 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.03 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.03 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.03 new_primMinusNatS1 -> Zero 102.37/63.03 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.03 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.03 102.37/63.03 The set Q consists of the following terms: 102.37/63.03 102.37/63.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.03 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.03 new_primMinusNatS1 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.03 new_primModNatS01(x0, x1) 102.37/63.03 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.03 new_primModNatS1(Zero, x0) 102.37/63.03 new_primMinusNatS2(Zero, Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) 102.37/63.03 new_primMinusNatS0(x0) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.03 102.37/63.03 We have to consider all minimal (P,Q,R)-chains. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (213) TransformationProof (EQUIVALENT) 102.37/63.03 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(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]: 102.37/63.03 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.37/63.03 102.37/63.03 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (214) 102.37/63.03 Obligation: 102.37/63.03 Q DP problem: 102.37/63.03 The TRS P consists of the following rules: 102.37/63.03 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.37/63.03 102.37/63.03 The TRS R consists of the following rules: 102.37/63.03 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.03 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.03 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.03 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.03 new_primMinusNatS1 -> Zero 102.37/63.03 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.03 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.03 102.37/63.03 The set Q consists of the following terms: 102.37/63.03 102.37/63.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.03 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.03 new_primMinusNatS1 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.03 new_primModNatS01(x0, x1) 102.37/63.03 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.03 new_primModNatS1(Zero, x0) 102.37/63.03 new_primMinusNatS2(Zero, Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) 102.37/63.03 new_primMinusNatS0(x0) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.03 102.37/63.03 We have to consider all minimal (P,Q,R)-chains. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (215) DependencyGraphProof (EQUIVALENT) 102.37/63.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (216) 102.37/63.03 Obligation: 102.37/63.03 Q DP problem: 102.37/63.03 The TRS P consists of the following rules: 102.37/63.03 102.37/63.03 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.37/63.03 102.37/63.03 The TRS R consists of the following rules: 102.37/63.03 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.03 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.03 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.03 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.03 new_primMinusNatS1 -> Zero 102.37/63.03 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.03 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.03 102.37/63.03 The set Q consists of the following terms: 102.37/63.03 102.37/63.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.03 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.03 new_primMinusNatS1 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.03 new_primModNatS01(x0, x1) 102.37/63.03 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.03 new_primModNatS1(Zero, x0) 102.37/63.03 new_primMinusNatS2(Zero, Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) 102.37/63.03 new_primMinusNatS0(x0) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.03 102.37/63.03 We have to consider all minimal (P,Q,R)-chains. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (217) TransformationProof (EQUIVALENT) 102.37/63.03 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(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]: 102.37/63.03 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.37/63.03 102.37/63.03 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (218) 102.37/63.03 Obligation: 102.37/63.03 Q DP problem: 102.37/63.03 The TRS P consists of the following rules: 102.37/63.03 102.37/63.03 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.37/63.03 102.37/63.03 The TRS R consists of the following rules: 102.37/63.03 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.03 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.03 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.03 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.03 new_primMinusNatS1 -> Zero 102.37/63.03 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.03 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.03 102.37/63.03 The set Q consists of the following terms: 102.37/63.03 102.37/63.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.03 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.03 new_primMinusNatS1 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.03 new_primModNatS01(x0, x1) 102.37/63.03 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.03 new_primModNatS1(Zero, x0) 102.37/63.03 new_primMinusNatS2(Zero, Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) 102.37/63.03 new_primMinusNatS0(x0) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.03 102.37/63.03 We have to consider all minimal (P,Q,R)-chains. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (219) TransformationProof (EQUIVALENT) 102.37/63.03 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.37/63.03 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.37/63.03 102.37/63.03 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (220) 102.37/63.03 Obligation: 102.37/63.03 Q DP problem: 102.37/63.03 The TRS P consists of the following rules: 102.37/63.03 102.37/63.03 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 102.37/63.03 The TRS R consists of the following rules: 102.37/63.03 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.03 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.03 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.03 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.03 new_primMinusNatS1 -> Zero 102.37/63.03 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.03 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.03 102.37/63.03 The set Q consists of the following terms: 102.37/63.03 102.37/63.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.03 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.03 new_primMinusNatS1 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.03 new_primModNatS01(x0, x1) 102.37/63.03 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.03 new_primModNatS1(Zero, x0) 102.37/63.03 new_primMinusNatS2(Zero, Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) 102.37/63.03 new_primMinusNatS0(x0) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.03 102.37/63.03 We have to consider all minimal (P,Q,R)-chains. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (221) TransformationProof (EQUIVALENT) 102.37/63.03 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(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]: 102.37/63.03 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))))) 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 102.37/63.03 102.37/63.03 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (222) 102.37/63.03 Obligation: 102.37/63.03 Q DP problem: 102.37/63.03 The TRS P consists of the following rules: 102.37/63.03 102.37/63.03 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.03 102.37/63.03 The TRS R consists of the following rules: 102.37/63.03 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.03 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.03 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.03 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.03 new_primMinusNatS1 -> Zero 102.37/63.03 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.03 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.03 102.37/63.03 The set Q consists of the following terms: 102.37/63.03 102.37/63.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.03 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.03 new_primMinusNatS1 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.03 new_primModNatS01(x0, x1) 102.37/63.03 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.03 new_primModNatS1(Zero, x0) 102.37/63.03 new_primMinusNatS2(Zero, Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) 102.37/63.03 new_primMinusNatS0(x0) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.03 102.37/63.03 We have to consider all minimal (P,Q,R)-chains. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (223) TransformationProof (EQUIVALENT) 102.37/63.03 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.37/63.03 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.37/63.03 102.37/63.03 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (224) 102.37/63.03 Obligation: 102.37/63.03 Q DP problem: 102.37/63.03 The TRS P consists of the following rules: 102.37/63.03 102.37/63.03 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.03 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.03 102.37/63.03 The TRS R consists of the following rules: 102.37/63.03 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.03 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.03 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.03 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.03 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.03 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.03 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.03 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.03 new_primMinusNatS1 -> Zero 102.37/63.03 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.03 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.03 102.37/63.03 The set Q consists of the following terms: 102.37/63.03 102.37/63.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.03 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.03 new_primMinusNatS1 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.03 new_primModNatS01(x0, x1) 102.37/63.03 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.03 new_primModNatS1(Zero, x0) 102.37/63.03 new_primMinusNatS2(Zero, Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.03 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.03 new_primModNatS1(Succ(Zero), Zero) 102.37/63.03 new_primMinusNatS0(x0) 102.37/63.03 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.03 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.03 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.03 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.03 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.03 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.03 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.03 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.03 102.37/63.03 We have to consider all minimal (P,Q,R)-chains. 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (225) TransformationProof (EQUIVALENT) 102.37/63.03 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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]: 102.37/63.03 102.37/63.03 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.37/63.03 102.37/63.03 102.37/63.03 ---------------------------------------- 102.37/63.03 102.37/63.03 (226) 102.37/63.03 Obligation: 102.37/63.03 Q DP problem: 102.37/63.03 The TRS P consists of the following rules: 102.37/63.03 102.37/63.03 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.03 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.03 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.04 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.04 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.04 102.37/63.04 The TRS R consists of the following rules: 102.37/63.04 102.37/63.04 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.04 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.04 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.04 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.04 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.04 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.04 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.04 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.04 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.04 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.04 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.04 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.04 new_primMinusNatS1 -> Zero 102.37/63.04 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.04 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.04 102.37/63.04 The set Q consists of the following terms: 102.37/63.04 102.37/63.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.04 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.04 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.04 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.04 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.04 new_primMinusNatS1 102.37/63.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.04 new_primModNatS01(x0, x1) 102.37/63.04 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.04 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.04 new_primModNatS1(Zero, x0) 102.37/63.04 new_primMinusNatS2(Zero, Zero) 102.37/63.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.04 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.04 new_primModNatS1(Succ(Zero), Zero) 102.37/63.04 new_primMinusNatS0(x0) 102.37/63.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.04 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.04 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.04 102.37/63.04 We have to consider all minimal (P,Q,R)-chains. 102.37/63.04 ---------------------------------------- 102.37/63.04 102.37/63.04 (227) TransformationProof (EQUIVALENT) 102.37/63.04 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.37/63.04 102.37/63.04 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.04 102.37/63.04 102.37/63.04 ---------------------------------------- 102.37/63.04 102.37/63.04 (228) 102.37/63.04 Obligation: 102.37/63.04 Q DP problem: 102.37/63.04 The TRS P consists of the following rules: 102.37/63.04 102.37/63.04 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.04 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.04 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.04 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.04 102.37/63.04 The TRS R consists of the following rules: 102.37/63.04 102.37/63.04 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.04 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.04 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.04 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.04 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.04 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.04 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.04 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.04 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.04 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.04 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.04 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.04 new_primMinusNatS1 -> Zero 102.37/63.04 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.04 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.04 102.37/63.04 The set Q consists of the following terms: 102.37/63.04 102.37/63.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.04 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.04 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.04 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.04 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.04 new_primMinusNatS1 102.37/63.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.04 new_primModNatS01(x0, x1) 102.37/63.04 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.04 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.04 new_primModNatS1(Zero, x0) 102.37/63.04 new_primMinusNatS2(Zero, Zero) 102.37/63.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.04 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.04 new_primModNatS1(Succ(Zero), Zero) 102.37/63.04 new_primMinusNatS0(x0) 102.37/63.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.04 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.04 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.04 102.37/63.04 We have to consider all minimal (P,Q,R)-chains. 102.37/63.04 ---------------------------------------- 102.37/63.04 102.37/63.04 (229) TransformationProof (EQUIVALENT) 102.37/63.04 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(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]: 102.37/63.04 102.37/63.04 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 102.37/63.04 102.37/63.04 102.37/63.04 ---------------------------------------- 102.37/63.04 102.37/63.04 (230) 102.37/63.04 Obligation: 102.37/63.04 Q DP problem: 102.37/63.04 The TRS P consists of the following rules: 102.37/63.04 102.37/63.04 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.04 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.04 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.04 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.04 102.37/63.04 The TRS R consists of the following rules: 102.37/63.04 102.37/63.04 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.04 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.04 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.04 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.04 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.04 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.04 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.04 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.04 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.04 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.04 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.04 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.04 new_primMinusNatS1 -> Zero 102.37/63.04 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.04 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.04 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.04 102.37/63.04 The set Q consists of the following terms: 102.37/63.04 102.37/63.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.04 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.04 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.04 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.04 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.04 new_primMinusNatS1 102.37/63.04 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.04 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.04 new_primModNatS01(x0, x1) 102.37/63.04 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.04 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.04 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.04 new_primModNatS1(Zero, x0) 102.37/63.04 new_primMinusNatS2(Zero, Zero) 102.37/63.04 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.04 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.04 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.04 new_primModNatS1(Succ(Zero), Zero) 102.37/63.04 new_primMinusNatS0(x0) 102.37/63.04 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.04 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.04 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.04 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.04 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.04 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.04 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.04 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.04 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.04 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.04 102.37/63.04 We have to consider all minimal (P,Q,R)-chains. 102.37/63.04 ---------------------------------------- 102.37/63.04 102.37/63.04 (231) TransformationProof (EQUIVALENT) 102.37/63.04 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.37/63.04 102.37/63.04 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.37/63.04 102.37/63.04 102.37/63.04 ---------------------------------------- 102.37/63.04 102.37/63.04 (232) 102.37/63.04 Obligation: 102.37/63.04 Q DP problem: 102.37/63.04 The TRS P consists of the following rules: 102.37/63.04 102.37/63.04 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.04 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.04 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.04 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.04 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.04 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.04 102.37/63.04 The TRS R consists of the following rules: 102.37/63.04 102.37/63.04 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.04 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.04 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.04 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.04 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.04 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.04 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.05 new_primMinusNatS1 -> Zero 102.37/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.05 102.37/63.05 The set Q consists of the following terms: 102.37/63.05 102.37/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.05 new_primMinusNatS1 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.05 new_primModNatS01(x0, x1) 102.37/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.05 new_primModNatS1(Zero, x0) 102.37/63.05 new_primMinusNatS2(Zero, Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) 102.37/63.05 new_primMinusNatS0(x0) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.05 102.37/63.05 We have to consider all minimal (P,Q,R)-chains. 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (233) TransformationProof (EQUIVALENT) 102.37/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.37/63.05 102.37/63.05 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.05 102.37/63.05 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (234) 102.37/63.05 Obligation: 102.37/63.05 Q DP problem: 102.37/63.05 The TRS P consists of the following rules: 102.37/63.05 102.37/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.05 102.37/63.05 The TRS R consists of the following rules: 102.37/63.05 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.05 new_primMinusNatS1 -> Zero 102.37/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.05 102.37/63.05 The set Q consists of the following terms: 102.37/63.05 102.37/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.05 new_primMinusNatS1 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.05 new_primModNatS01(x0, x1) 102.37/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.05 new_primModNatS1(Zero, x0) 102.37/63.05 new_primMinusNatS2(Zero, Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) 102.37/63.05 new_primMinusNatS0(x0) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.05 102.37/63.05 We have to consider all minimal (P,Q,R)-chains. 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (235) TransformationProof (EQUIVALENT) 102.37/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(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]: 102.37/63.05 102.37/63.05 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 102.37/63.05 102.37/63.05 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (236) 102.37/63.05 Obligation: 102.37/63.05 Q DP problem: 102.37/63.05 The TRS P consists of the following rules: 102.37/63.05 102.37/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 102.37/63.05 The TRS R consists of the following rules: 102.37/63.05 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.05 new_primMinusNatS1 -> Zero 102.37/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.05 102.37/63.05 The set Q consists of the following terms: 102.37/63.05 102.37/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.05 new_primMinusNatS1 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.05 new_primModNatS01(x0, x1) 102.37/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.05 new_primModNatS1(Zero, x0) 102.37/63.05 new_primMinusNatS2(Zero, Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) 102.37/63.05 new_primMinusNatS0(x0) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.05 102.37/63.05 We have to consider all minimal (P,Q,R)-chains. 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (237) TransformationProof (EQUIVALENT) 102.37/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.37/63.05 102.37/63.05 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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)))) 102.37/63.05 102.37/63.05 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (238) 102.37/63.05 Obligation: 102.37/63.05 Q DP problem: 102.37/63.05 The TRS P consists of the following rules: 102.37/63.05 102.37/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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))) 102.37/63.05 102.37/63.05 The TRS R consists of the following rules: 102.37/63.05 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.05 new_primMinusNatS1 -> Zero 102.37/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.05 102.37/63.05 The set Q consists of the following terms: 102.37/63.05 102.37/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.05 new_primMinusNatS1 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.05 new_primModNatS01(x0, x1) 102.37/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.05 new_primModNatS1(Zero, x0) 102.37/63.05 new_primMinusNatS2(Zero, Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) 102.37/63.05 new_primMinusNatS0(x0) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.05 102.37/63.05 We have to consider all minimal (P,Q,R)-chains. 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (239) TransformationProof (EQUIVALENT) 102.37/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.37/63.05 102.37/63.05 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.05 102.37/63.05 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (240) 102.37/63.05 Obligation: 102.37/63.05 Q DP problem: 102.37/63.05 The TRS P consists of the following rules: 102.37/63.05 102.37/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.05 102.37/63.05 The TRS R consists of the following rules: 102.37/63.05 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.05 new_primMinusNatS1 -> Zero 102.37/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.05 102.37/63.05 The set Q consists of the following terms: 102.37/63.05 102.37/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.05 new_primMinusNatS1 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.05 new_primModNatS01(x0, x1) 102.37/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.05 new_primModNatS1(Zero, x0) 102.37/63.05 new_primMinusNatS2(Zero, Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) 102.37/63.05 new_primMinusNatS0(x0) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.05 102.37/63.05 We have to consider all minimal (P,Q,R)-chains. 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (241) TransformationProof (EQUIVALENT) 102.37/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.37/63.05 102.37/63.05 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) 102.37/63.05 102.37/63.05 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (242) 102.37/63.05 Obligation: 102.37/63.05 Q DP problem: 102.37/63.05 The TRS P consists of the following rules: 102.37/63.05 102.37/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 102.37/63.05 102.37/63.05 The TRS R consists of the following rules: 102.37/63.05 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.37/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.37/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.37/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.37/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.37/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.37/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.37/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.37/63.05 new_primMinusNatS1 -> Zero 102.37/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.37/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.37/63.05 102.37/63.05 The set Q consists of the following terms: 102.37/63.05 102.37/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.37/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.37/63.05 new_primMinusNatS1 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.37/63.05 new_primModNatS01(x0, x1) 102.37/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.37/63.05 new_primModNatS1(Zero, x0) 102.37/63.05 new_primMinusNatS2(Zero, Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.37/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.37/63.05 new_primModNatS1(Succ(Zero), Zero) 102.37/63.05 new_primMinusNatS0(x0) 102.37/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.37/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.37/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.37/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.37/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.37/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.37/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.37/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.37/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.37/63.05 102.37/63.05 We have to consider all minimal (P,Q,R)-chains. 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (243) TransformationProof (EQUIVALENT) 102.37/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.37/63.05 102.37/63.05 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.37/63.05 102.37/63.05 102.37/63.05 ---------------------------------------- 102.37/63.05 102.37/63.05 (244) 102.37/63.05 Obligation: 102.37/63.05 Q DP problem: 102.37/63.05 The TRS P consists of the following rules: 102.37/63.05 102.37/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.37/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.37/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.37/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (245) DependencyGraphProof (EQUIVALENT) 102.55/63.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (246) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (247) TransformationProof (EQUIVALENT) 102.55/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.55/63.05 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (248) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (249) TransformationProof (EQUIVALENT) 102.55/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.55/63.05 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (250) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (251) TransformationProof (EQUIVALENT) 102.55/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.55/63.05 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (252) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (253) TransformationProof (EQUIVALENT) 102.55/63.05 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(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]: 102.55/63.05 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (254) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (255) TransformationProof (EQUIVALENT) 102.55/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, 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]: 102.55/63.05 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (256) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (257) TransformationProof (EQUIVALENT) 102.55/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.55/63.05 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (258) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (259) TransformationProof (EQUIVALENT) 102.55/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(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]: 102.55/63.05 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (260) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (261) DependencyGraphProof (EQUIVALENT) 102.55/63.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (262) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (263) TransformationProof (EQUIVALENT) 102.55/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(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]: 102.55/63.05 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (264) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (265) TransformationProof (EQUIVALENT) 102.55/63.05 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.55/63.05 102.55/63.05 (new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (266) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (267) TransformationProof (EQUIVALENT) 102.55/63.05 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_quot0(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]: 102.55/63.05 102.55/63.05 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.55/63.05 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))))) 102.55/63.05 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.55/63.05 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (268) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.55/63.05 102.55/63.05 The TRS R consists of the following rules: 102.55/63.05 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.05 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.05 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.05 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.05 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.05 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.05 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.05 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.05 new_primMinusNatS1 -> Zero 102.55/63.05 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.05 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.05 102.55/63.05 The set Q consists of the following terms: 102.55/63.05 102.55/63.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.05 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.05 new_primMinusNatS1 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.05 new_primModNatS01(x0, x1) 102.55/63.05 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.05 new_primModNatS1(Zero, x0) 102.55/63.05 new_primMinusNatS2(Zero, Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.05 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.05 new_primModNatS1(Succ(Zero), Zero) 102.55/63.05 new_primMinusNatS0(x0) 102.55/63.05 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.05 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.05 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.05 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.05 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.05 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.05 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.05 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.05 102.55/63.05 We have to consider all minimal (P,Q,R)-chains. 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (269) TransformationProof (EQUIVALENT) 102.55/63.05 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.55/63.05 102.55/63.05 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.55/63.05 102.55/63.05 102.55/63.05 ---------------------------------------- 102.55/63.05 102.55/63.05 (270) 102.55/63.05 Obligation: 102.55/63.05 Q DP problem: 102.55/63.05 The TRS P consists of the following rules: 102.55/63.05 102.55/63.05 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.05 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.05 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.55/63.05 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.55/63.06 102.55/63.06 The TRS R consists of the following rules: 102.55/63.06 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.06 new_primMinusNatS1 -> Zero 102.55/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.06 102.55/63.06 The set Q consists of the following terms: 102.55/63.06 102.55/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.06 new_primMinusNatS1 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.06 new_primModNatS01(x0, x1) 102.55/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.06 new_primModNatS1(Zero, x0) 102.55/63.06 new_primMinusNatS2(Zero, Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) 102.55/63.06 new_primMinusNatS0(x0) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.06 102.55/63.06 We have to consider all minimal (P,Q,R)-chains. 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (271) TransformationProof (EQUIVALENT) 102.55/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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]: 102.55/63.06 102.55/63.06 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.55/63.06 102.55/63.06 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (272) 102.55/63.06 Obligation: 102.55/63.06 Q DP problem: 102.55/63.06 The TRS P consists of the following rules: 102.55/63.06 102.55/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 102.55/63.06 The TRS R consists of the following rules: 102.55/63.06 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.06 new_primMinusNatS1 -> Zero 102.55/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.06 102.55/63.06 The set Q consists of the following terms: 102.55/63.06 102.55/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.06 new_primMinusNatS1 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.06 new_primModNatS01(x0, x1) 102.55/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.06 new_primModNatS1(Zero, x0) 102.55/63.06 new_primMinusNatS2(Zero, Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) 102.55/63.06 new_primMinusNatS0(x0) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.06 102.55/63.06 We have to consider all minimal (P,Q,R)-chains. 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (273) TransformationProof (EQUIVALENT) 102.55/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.55/63.06 102.55/63.06 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.55/63.06 102.55/63.06 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (274) 102.55/63.06 Obligation: 102.55/63.06 Q DP problem: 102.55/63.06 The TRS P consists of the following rules: 102.55/63.06 102.55/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.55/63.06 102.55/63.06 The TRS R consists of the following rules: 102.55/63.06 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.06 new_primMinusNatS1 -> Zero 102.55/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.06 102.55/63.06 The set Q consists of the following terms: 102.55/63.06 102.55/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.06 new_primMinusNatS1 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.06 new_primModNatS01(x0, x1) 102.55/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.06 new_primModNatS1(Zero, x0) 102.55/63.06 new_primMinusNatS2(Zero, Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) 102.55/63.06 new_primMinusNatS0(x0) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.06 102.55/63.06 We have to consider all minimal (P,Q,R)-chains. 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (275) TransformationProof (EQUIVALENT) 102.55/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(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]: 102.55/63.06 102.55/63.06 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 102.55/63.06 102.55/63.06 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (276) 102.55/63.06 Obligation: 102.55/63.06 Q DP problem: 102.55/63.06 The TRS P consists of the following rules: 102.55/63.06 102.55/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.55/63.06 102.55/63.06 The TRS R consists of the following rules: 102.55/63.06 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.06 new_primMinusNatS1 -> Zero 102.55/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.06 102.55/63.06 The set Q consists of the following terms: 102.55/63.06 102.55/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.06 new_primMinusNatS1 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.06 new_primModNatS01(x0, x1) 102.55/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.06 new_primModNatS1(Zero, x0) 102.55/63.06 new_primMinusNatS2(Zero, Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) 102.55/63.06 new_primMinusNatS0(x0) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.06 102.55/63.06 We have to consider all minimal (P,Q,R)-chains. 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (277) TransformationProof (EQUIVALENT) 102.55/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.55/63.06 102.55/63.06 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.55/63.06 102.55/63.06 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (278) 102.55/63.06 Obligation: 102.55/63.06 Q DP problem: 102.55/63.06 The TRS P consists of the following rules: 102.55/63.06 102.55/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.55/63.06 102.55/63.06 The TRS R consists of the following rules: 102.55/63.06 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.06 new_primMinusNatS1 -> Zero 102.55/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.06 102.55/63.06 The set Q consists of the following terms: 102.55/63.06 102.55/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.06 new_primMinusNatS1 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.06 new_primModNatS01(x0, x1) 102.55/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.06 new_primModNatS1(Zero, x0) 102.55/63.06 new_primMinusNatS2(Zero, Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) 102.55/63.06 new_primMinusNatS0(x0) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.06 102.55/63.06 We have to consider all minimal (P,Q,R)-chains. 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (279) TransformationProof (EQUIVALENT) 102.55/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.55/63.06 102.55/63.06 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.55/63.06 102.55/63.06 102.55/63.06 ---------------------------------------- 102.55/63.06 102.55/63.06 (280) 102.55/63.06 Obligation: 102.55/63.06 Q DP problem: 102.55/63.06 The TRS P consists of the following rules: 102.55/63.06 102.55/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.55/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.55/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.55/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.55/63.06 102.55/63.06 The TRS R consists of the following rules: 102.55/63.06 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.55/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.55/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.55/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.55/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.55/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.55/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.55/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.55/63.06 new_primMinusNatS1 -> Zero 102.55/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.55/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.55/63.06 102.55/63.06 The set Q consists of the following terms: 102.55/63.06 102.55/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.55/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.55/63.06 new_primMinusNatS1 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.55/63.06 new_primModNatS01(x0, x1) 102.55/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.55/63.06 new_primModNatS1(Zero, x0) 102.55/63.06 new_primMinusNatS2(Zero, Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.55/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.55/63.06 new_primModNatS1(Succ(Zero), Zero) 102.55/63.06 new_primMinusNatS0(x0) 102.55/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.55/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.55/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.55/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.55/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.55/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.55/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.55/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.55/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.55/63.06 102.55/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (281) TransformationProof (EQUIVALENT) 102.58/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(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]: 102.58/63.06 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 102.58/63.06 102.58/63.06 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (282) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.06 102.58/63.06 The TRS R consists of the following rules: 102.58/63.06 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.06 new_primMinusNatS1 -> Zero 102.58/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.06 102.58/63.06 The set Q consists of the following terms: 102.58/63.06 102.58/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.06 new_primMinusNatS1 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.06 new_primModNatS01(x0, x1) 102.58/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.06 new_primModNatS1(Zero, x0) 102.58/63.06 new_primMinusNatS2(Zero, Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) 102.58/63.06 new_primMinusNatS0(x0) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.06 102.58/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (283) TransformationProof (EQUIVALENT) 102.58/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.06 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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)))) 102.58/63.06 102.58/63.06 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (284) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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))) 102.58/63.06 102.58/63.06 The TRS R consists of the following rules: 102.58/63.06 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.06 new_primMinusNatS1 -> Zero 102.58/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.06 102.58/63.06 The set Q consists of the following terms: 102.58/63.06 102.58/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.06 new_primMinusNatS1 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.06 new_primModNatS01(x0, x1) 102.58/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.06 new_primModNatS1(Zero, x0) 102.58/63.06 new_primMinusNatS2(Zero, Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) 102.58/63.06 new_primMinusNatS0(x0) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.06 102.58/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (285) TransformationProof (EQUIVALENT) 102.58/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.06 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.58/63.06 102.58/63.06 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (286) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.06 102.58/63.06 The TRS R consists of the following rules: 102.58/63.06 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.06 new_primMinusNatS1 -> Zero 102.58/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.06 102.58/63.06 The set Q consists of the following terms: 102.58/63.06 102.58/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.06 new_primMinusNatS1 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.06 new_primModNatS01(x0, x1) 102.58/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.06 new_primModNatS1(Zero, x0) 102.58/63.06 new_primMinusNatS2(Zero, Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) 102.58/63.06 new_primMinusNatS0(x0) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.06 102.58/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (287) TransformationProof (EQUIVALENT) 102.58/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.06 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) 102.58/63.06 102.58/63.06 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (288) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 102.58/63.06 102.58/63.06 The TRS R consists of the following rules: 102.58/63.06 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.06 new_primMinusNatS1 -> Zero 102.58/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.06 102.58/63.06 The set Q consists of the following terms: 102.58/63.06 102.58/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.06 new_primMinusNatS1 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.06 new_primModNatS01(x0, x1) 102.58/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.06 new_primModNatS1(Zero, x0) 102.58/63.06 new_primMinusNatS2(Zero, Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) 102.58/63.06 new_primMinusNatS0(x0) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.06 102.58/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (289) TransformationProof (EQUIVALENT) 102.58/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.06 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.58/63.06 102.58/63.06 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (290) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.06 102.58/63.06 The TRS R consists of the following rules: 102.58/63.06 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.06 new_primMinusNatS1 -> Zero 102.58/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.06 102.58/63.06 The set Q consists of the following terms: 102.58/63.06 102.58/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.06 new_primMinusNatS1 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.06 new_primModNatS01(x0, x1) 102.58/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.06 new_primModNatS1(Zero, x0) 102.58/63.06 new_primMinusNatS2(Zero, Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) 102.58/63.06 new_primMinusNatS0(x0) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.06 102.58/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (291) DependencyGraphProof (EQUIVALENT) 102.58/63.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (292) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 102.58/63.06 102.58/63.06 The TRS R consists of the following rules: 102.58/63.06 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.06 new_primMinusNatS1 -> Zero 102.58/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.06 102.58/63.06 The set Q consists of the following terms: 102.58/63.06 102.58/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.06 new_primMinusNatS1 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.06 new_primModNatS01(x0, x1) 102.58/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.06 new_primModNatS1(Zero, x0) 102.58/63.06 new_primMinusNatS2(Zero, Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) 102.58/63.06 new_primMinusNatS0(x0) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.06 102.58/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (293) TransformationProof (EQUIVALENT) 102.58/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.06 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 102.58/63.06 102.58/63.06 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (294) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.58/63.06 102.58/63.06 The TRS R consists of the following rules: 102.58/63.06 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.06 new_primMinusNatS1 -> Zero 102.58/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.06 102.58/63.06 The set Q consists of the following terms: 102.58/63.06 102.58/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.06 new_primMinusNatS1 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.06 new_primModNatS01(x0, x1) 102.58/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.06 new_primModNatS1(Zero, x0) 102.58/63.06 new_primMinusNatS2(Zero, Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) 102.58/63.06 new_primMinusNatS0(x0) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.06 102.58/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (295) TransformationProof (EQUIVALENT) 102.58/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.06 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 102.58/63.06 102.58/63.06 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (296) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.58/63.06 102.58/63.06 The TRS R consists of the following rules: 102.58/63.06 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.06 new_primMinusNatS1 -> Zero 102.58/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.06 102.58/63.06 The set Q consists of the following terms: 102.58/63.06 102.58/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.06 new_primMinusNatS1 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.06 new_primModNatS01(x0, x1) 102.58/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.06 new_primModNatS1(Zero, x0) 102.58/63.06 new_primMinusNatS2(Zero, Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) 102.58/63.06 new_primMinusNatS0(x0) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.06 102.58/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (297) TransformationProof (EQUIVALENT) 102.58/63.06 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.06 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 102.58/63.06 102.58/63.06 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (298) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 102.58/63.06 The TRS R consists of the following rules: 102.58/63.06 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.06 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.06 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.06 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.06 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.06 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.06 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.06 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.06 new_primMinusNatS1 -> Zero 102.58/63.06 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.06 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.06 102.58/63.06 The set Q consists of the following terms: 102.58/63.06 102.58/63.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.06 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.06 new_primMinusNatS1 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.06 new_primModNatS01(x0, x1) 102.58/63.06 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.06 new_primModNatS1(Zero, x0) 102.58/63.06 new_primMinusNatS2(Zero, Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.06 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.06 new_primModNatS1(Succ(Zero), Zero) 102.58/63.06 new_primMinusNatS0(x0) 102.58/63.06 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.06 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.06 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.06 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.06 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.06 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.06 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.06 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.06 102.58/63.06 We have to consider all minimal (P,Q,R)-chains. 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (299) TransformationProof (EQUIVALENT) 102.58/63.06 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot0(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]: 102.58/63.06 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.58/63.06 (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.58/63.06 102.58/63.06 102.58/63.06 ---------------------------------------- 102.58/63.06 102.58/63.06 (300) 102.58/63.06 Obligation: 102.58/63.06 Q DP problem: 102.58/63.06 The TRS P consists of the following rules: 102.58/63.06 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.06 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.06 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.06 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.06 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (301) TransformationProof (EQUIVALENT) 102.58/63.07 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, 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]: 102.58/63.07 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.58/63.07 102.58/63.07 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (302) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (303) TransformationProof (EQUIVALENT) 102.58/63.07 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.58/63.07 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.58/63.07 102.58/63.07 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (304) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (305) TransformationProof (EQUIVALENT) 102.58/63.07 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(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]: 102.58/63.07 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.58/63.07 102.58/63.07 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (306) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (307) DependencyGraphProof (EQUIVALENT) 102.58/63.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (308) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (309) TransformationProof (EQUIVALENT) 102.58/63.07 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(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]: 102.58/63.07 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.58/63.07 102.58/63.07 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (310) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (311) TransformationProof (EQUIVALENT) 102.58/63.07 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.07 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.58/63.07 102.58/63.07 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (312) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, x1, x0, x1)), Pos(Zero)), Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (313) TransformationProof (EQUIVALENT) 102.58/63.07 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_quot0(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]: 102.58/63.07 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))))) 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 102.58/63.07 102.58/63.07 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (314) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Succ(x2), Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (315) TransformationProof (EQUIVALENT) 102.58/63.07 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.07 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.58/63.07 102.58/63.07 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (316) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (317) TransformationProof (EQUIVALENT) 102.58/63.07 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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]: 102.58/63.07 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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)))) 102.58/63.07 102.58/63.07 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (318) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS01(Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.07 102.58/63.07 The TRS R consists of the following rules: 102.58/63.07 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.07 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.07 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.07 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.07 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.07 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.07 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.07 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.07 new_primMinusNatS1 -> Zero 102.58/63.07 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.07 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.07 102.58/63.07 The set Q consists of the following terms: 102.58/63.07 102.58/63.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.07 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.07 new_primMinusNatS1 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.07 new_primModNatS01(x0, x1) 102.58/63.07 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.07 new_primModNatS1(Zero, x0) 102.58/63.07 new_primMinusNatS2(Zero, Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.07 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.07 new_primModNatS1(Succ(Zero), Zero) 102.58/63.07 new_primMinusNatS0(x0) 102.58/63.07 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.07 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.07 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.07 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.07 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.07 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.07 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.07 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.07 102.58/63.07 We have to consider all minimal (P,Q,R)-chains. 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (319) TransformationProof (EQUIVALENT) 102.58/63.07 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.07 102.58/63.07 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.58/63.07 102.58/63.07 102.58/63.07 ---------------------------------------- 102.58/63.07 102.58/63.07 (320) 102.58/63.07 Obligation: 102.58/63.07 Q DP problem: 102.58/63.07 The TRS P consists of the following rules: 102.58/63.07 102.58/63.07 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.07 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.07 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (321) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2))))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (322) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (323) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (324) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (325) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (326) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS02(Zero, Succ(x2), Zero, Succ(x2)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (327) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (328) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero, Succ(x2), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (329) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (330) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (331) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (332) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (333) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (334) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (335) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (336) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (337) DependencyGraphProof (EQUIVALENT) 102.58/63.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (338) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (339) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (340) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (341) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (342) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (343) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (344) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (345) TransformationProof (EQUIVALENT) 102.58/63.08 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot0(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (346) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (347) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, 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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (348) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (349) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (350) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (351) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (352) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (353) DependencyGraphProof (EQUIVALENT) 102.58/63.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (354) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.08 new_primMinusNatS1 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.08 new_primModNatS01(x0, x1) 102.58/63.08 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.08 new_primModNatS1(Zero, x0) 102.58/63.08 new_primMinusNatS2(Zero, Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) 102.58/63.08 new_primMinusNatS0(x0) 102.58/63.08 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.08 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.08 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.08 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.08 102.58/63.08 We have to consider all minimal (P,Q,R)-chains. 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (355) TransformationProof (EQUIVALENT) 102.58/63.08 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(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]: 102.58/63.08 102.58/63.08 (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.58/63.08 102.58/63.08 102.58/63.08 ---------------------------------------- 102.58/63.08 102.58/63.08 (356) 102.58/63.08 Obligation: 102.58/63.08 Q DP problem: 102.58/63.08 The TRS P consists of the following rules: 102.58/63.08 102.58/63.08 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.08 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.58/63.08 102.58/63.08 The TRS R consists of the following rules: 102.58/63.08 102.58/63.08 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.08 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.08 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.08 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.08 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.08 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.08 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.08 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.08 new_primMinusNatS1 -> Zero 102.58/63.08 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.08 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.08 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.08 102.58/63.08 The set Q consists of the following terms: 102.58/63.08 102.58/63.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.08 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.08 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.08 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (357) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.09 102.58/63.09 (new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (358) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (359) TransformationProof (EQUIVALENT) 102.58/63.09 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))))) 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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))))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (360) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (361) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (362) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (363) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (364) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (365) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (366) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (367) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (368) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (369) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (370) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (371) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (372) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (373) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (374) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (375) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (376) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (377) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (378) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (379) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (380) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (381) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (382) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (383) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (384) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (385) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (386) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (387) DependencyGraphProof (EQUIVALENT) 102.58/63.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (388) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (389) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (390) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.09 102.58/63.09 We have to consider all minimal (P,Q,R)-chains. 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (391) TransformationProof (EQUIVALENT) 102.58/63.09 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.09 102.58/63.09 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 102.58/63.09 102.58/63.09 102.58/63.09 ---------------------------------------- 102.58/63.09 102.58/63.09 (392) 102.58/63.09 Obligation: 102.58/63.09 Q DP problem: 102.58/63.09 The TRS P consists of the following rules: 102.58/63.09 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.09 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.09 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.09 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.58/63.09 102.58/63.09 The TRS R consists of the following rules: 102.58/63.09 102.58/63.09 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.09 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.09 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.09 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.09 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.09 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.09 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.09 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.09 new_primMinusNatS1 -> Zero 102.58/63.09 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.09 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.09 102.58/63.09 The set Q consists of the following terms: 102.58/63.09 102.58/63.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.09 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.09 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.09 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.09 new_primMinusNatS1 102.58/63.09 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.09 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.09 new_primModNatS01(x0, x1) 102.58/63.09 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.09 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.09 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.09 new_primModNatS1(Zero, x0) 102.58/63.09 new_primMinusNatS2(Zero, Zero) 102.58/63.09 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.09 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.09 new_primModNatS1(Succ(Zero), Zero) 102.58/63.09 new_primMinusNatS0(x0) 102.58/63.09 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (393) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (394) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (395) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (396) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (397) TransformationProof (EQUIVALENT) 102.58/63.10 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (398) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (399) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (400) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (401) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (402) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (403) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (404) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (405) TransformationProof (EQUIVALENT) 102.58/63.10 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (406) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (407) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, 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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (408) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (409) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (410) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (411) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (412) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (413) DependencyGraphProof (EQUIVALENT) 102.58/63.10 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (414) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (415) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (416) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (417) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (418) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (419) TransformationProof (EQUIVALENT) 102.58/63.10 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))))) 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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))))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (420) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (421) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (422) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (423) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (424) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (425) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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)))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (426) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (427) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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]: 102.58/63.10 102.58/63.10 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 102.58/63.10 102.58/63.10 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (428) 102.58/63.10 Obligation: 102.58/63.10 Q DP problem: 102.58/63.10 The TRS P consists of the following rules: 102.58/63.10 102.58/63.10 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.10 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.10 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.58/63.10 102.58/63.10 The TRS R consists of the following rules: 102.58/63.10 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.10 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.10 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.10 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.10 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.10 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.10 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.10 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.10 new_primMinusNatS1 -> Zero 102.58/63.10 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.10 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.10 102.58/63.10 The set Q consists of the following terms: 102.58/63.10 102.58/63.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.10 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.10 new_primMinusNatS1 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.10 new_primModNatS01(x0, x1) 102.58/63.10 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.10 new_primModNatS1(Zero, x0) 102.58/63.10 new_primMinusNatS2(Zero, Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.10 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.10 new_primModNatS1(Succ(Zero), Zero) 102.58/63.10 new_primMinusNatS0(x0) 102.58/63.10 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.10 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.10 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.10 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.10 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.10 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.10 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.10 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.10 102.58/63.10 We have to consider all minimal (P,Q,R)-chains. 102.58/63.10 ---------------------------------------- 102.58/63.10 102.58/63.10 (429) TransformationProof (EQUIVALENT) 102.58/63.10 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.11 102.58/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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)))) 102.58/63.11 102.58/63.11 102.58/63.11 ---------------------------------------- 102.58/63.11 102.58/63.11 (430) 102.58/63.11 Obligation: 102.58/63.11 Q DP problem: 102.58/63.11 The TRS P consists of the following rules: 102.58/63.11 102.58/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.11 102.58/63.11 The TRS R consists of the following rules: 102.58/63.11 102.58/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.11 new_primMinusNatS1 -> Zero 102.58/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.11 102.58/63.11 The set Q consists of the following terms: 102.58/63.11 102.58/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.11 new_primMinusNatS1 102.58/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.11 new_primModNatS01(x0, x1) 102.58/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.11 new_primModNatS1(Zero, x0) 102.58/63.11 new_primMinusNatS2(Zero, Zero) 102.58/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.11 new_primModNatS1(Succ(Zero), Zero) 102.58/63.11 new_primMinusNatS0(x0) 102.58/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.11 102.58/63.11 We have to consider all minimal (P,Q,R)-chains. 102.58/63.11 ---------------------------------------- 102.58/63.11 102.58/63.11 (431) TransformationProof (EQUIVALENT) 102.58/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.58/63.11 102.58/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.58/63.11 102.58/63.11 102.58/63.11 ---------------------------------------- 102.58/63.11 102.58/63.11 (432) 102.58/63.11 Obligation: 102.58/63.11 Q DP problem: 102.58/63.11 The TRS P consists of the following rules: 102.58/63.11 102.58/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.58/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.58/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.58/63.11 102.58/63.11 The TRS R consists of the following rules: 102.58/63.11 102.58/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.58/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.58/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.58/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.58/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.58/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.58/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.58/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.58/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.58/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.58/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.58/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.58/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.58/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.58/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.58/63.11 new_primMinusNatS1 -> Zero 102.58/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.58/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.58/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.58/63.11 102.58/63.11 The set Q consists of the following terms: 102.58/63.11 102.58/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.58/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.58/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.58/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.58/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.58/63.11 new_primMinusNatS1 102.58/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.58/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.58/63.11 new_primModNatS01(x0, x1) 102.58/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.58/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.58/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.58/63.11 new_primModNatS1(Zero, x0) 102.58/63.11 new_primMinusNatS2(Zero, Zero) 102.58/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.58/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.58/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.58/63.11 new_primModNatS1(Succ(Zero), Zero) 102.58/63.11 new_primMinusNatS0(x0) 102.58/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.58/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.58/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.58/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.58/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.58/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.58/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.58/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.58/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.58/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.58/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.58/63.11 102.58/63.11 We have to consider all minimal (P,Q,R)-chains. 102.58/63.11 ---------------------------------------- 102.58/63.11 102.58/63.11 (433) TransformationProof (EQUIVALENT) 102.58/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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]: 102.58/63.11 102.58/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 102.58/63.11 102.58/63.11 102.58/63.11 ---------------------------------------- 102.58/63.11 102.58/63.11 (434) 102.58/63.11 Obligation: 102.58/63.11 Q DP problem: 102.58/63.11 The TRS P consists of the following rules: 102.58/63.11 102.58/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.58/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.58/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (435) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (436) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (437) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (438) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (439) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (440) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (441) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (442) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (443) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (444) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (445) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (446) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (447) DependencyGraphProof (EQUIVALENT) 102.71/63.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (448) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (449) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (450) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (451) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (452) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (453) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (454) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (455) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (456) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (457) TransformationProof (EQUIVALENT) 102.71/63.11 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (458) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.11 102.71/63.11 We have to consider all minimal (P,Q,R)-chains. 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (459) TransformationProof (EQUIVALENT) 102.71/63.11 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.71/63.11 102.71/63.11 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 102.71/63.11 102.71/63.11 102.71/63.11 ---------------------------------------- 102.71/63.11 102.71/63.11 (460) 102.71/63.11 Obligation: 102.71/63.11 Q DP problem: 102.71/63.11 The TRS P consists of the following rules: 102.71/63.11 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.11 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.11 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 102.71/63.11 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.71/63.11 102.71/63.11 The TRS R consists of the following rules: 102.71/63.11 102.71/63.11 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.11 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.11 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.11 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.11 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.11 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.11 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.11 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.11 new_primMinusNatS1 -> Zero 102.71/63.11 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.11 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.11 102.71/63.11 The set Q consists of the following terms: 102.71/63.11 102.71/63.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.11 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.11 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.11 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.11 new_primMinusNatS1 102.71/63.11 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.11 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.11 new_primModNatS01(x0, x1) 102.71/63.11 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.11 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.11 new_primModNatS1(Zero, x0) 102.71/63.11 new_primMinusNatS2(Zero, Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.11 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.11 new_primModNatS1(Succ(Zero), Zero) 102.71/63.11 new_primMinusNatS0(x0) 102.71/63.11 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.11 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.11 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (461) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (462) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (463) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 102.71/63.12 102.71/63.12 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (464) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (465) TransformationProof (EQUIVALENT) 102.71/63.12 By narrowing [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.71/63.12 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (466) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (467) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS1, 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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (468) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (469) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (470) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (471) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (472) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(Zero), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (473) DependencyGraphProof (EQUIVALENT) 102.71/63.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (474) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (475) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (476) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (477) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.71/63.12 102.71/63.12 (new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (478) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (479) TransformationProof (EQUIVALENT) 102.71/63.12 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))))) 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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))))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (480) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (481) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (482) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (483) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (484) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (485) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (486) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (487) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (488) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (489) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (490) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (491) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (492) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (493) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (494) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.12 102.71/63.12 The TRS R consists of the following rules: 102.71/63.12 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.12 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.12 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.12 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.12 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.12 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.12 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.12 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.12 new_primMinusNatS1 -> Zero 102.71/63.12 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.12 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.12 102.71/63.12 The set Q consists of the following terms: 102.71/63.12 102.71/63.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.12 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.12 new_primMinusNatS1 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.12 new_primModNatS01(x0, x1) 102.71/63.12 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.12 new_primModNatS1(Zero, x0) 102.71/63.12 new_primMinusNatS2(Zero, Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.12 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.12 new_primModNatS1(Succ(Zero), Zero) 102.71/63.12 new_primMinusNatS0(x0) 102.71/63.12 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.12 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.12 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.12 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.12 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.12 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.12 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.12 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.12 102.71/63.12 We have to consider all minimal (P,Q,R)-chains. 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (495) TransformationProof (EQUIVALENT) 102.71/63.12 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.12 102.71/63.12 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 102.71/63.12 102.71/63.12 102.71/63.12 ---------------------------------------- 102.71/63.12 102.71/63.12 (496) 102.71/63.12 Obligation: 102.71/63.12 Q DP problem: 102.71/63.12 The TRS P consists of the following rules: 102.71/63.12 102.71/63.12 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.12 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (497) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (498) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (499) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (500) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (501) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (502) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (503) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (504) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (505) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (506) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (507) DependencyGraphProof (EQUIVALENT) 102.71/63.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (508) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (509) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (510) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (511) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (512) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (513) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (514) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (515) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (516) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (517) TransformationProof (EQUIVALENT) 102.71/63.13 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (518) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (519) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (520) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (521) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (522) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (523) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (524) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (525) TransformationProof (EQUIVALENT) 102.71/63.13 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_quot0(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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (526) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (527) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, 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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (528) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.13 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.13 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.71/63.13 102.71/63.13 The TRS R consists of the following rules: 102.71/63.13 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.13 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.13 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.13 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.13 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.13 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.13 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.13 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.13 new_primMinusNatS1 -> Zero 102.71/63.13 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.13 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.13 102.71/63.13 The set Q consists of the following terms: 102.71/63.13 102.71/63.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.13 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.13 new_primMinusNatS1 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.13 new_primModNatS01(x0, x1) 102.71/63.13 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.13 new_primModNatS1(Zero, x0) 102.71/63.13 new_primMinusNatS2(Zero, Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.13 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.13 new_primModNatS1(Succ(Zero), Zero) 102.71/63.13 new_primMinusNatS0(x0) 102.71/63.13 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.13 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.13 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.13 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.13 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.13 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.13 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.13 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.13 102.71/63.13 We have to consider all minimal (P,Q,R)-chains. 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (529) TransformationProof (EQUIVALENT) 102.71/63.13 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.71/63.13 102.71/63.13 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.71/63.13 102.71/63.13 102.71/63.13 ---------------------------------------- 102.71/63.13 102.71/63.13 (530) 102.71/63.13 Obligation: 102.71/63.13 Q DP problem: 102.71/63.13 The TRS P consists of the following rules: 102.71/63.13 102.71/63.13 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.13 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (531) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (532) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (533) DependencyGraphProof (EQUIVALENT) 102.71/63.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (534) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (535) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (536) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (537) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (538) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (539) TransformationProof (EQUIVALENT) 102.71/63.14 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_quot0(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))))) 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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))))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (540) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (541) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (542) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (543) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (544) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (545) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (546) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (547) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (548) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (549) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (550) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (551) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (552) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS02(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (553) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (554) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (555) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (556) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (557) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (558) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (559) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (560) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.14 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.14 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.14 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.14 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.14 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.14 new_primMinusNatS1 -> Zero 102.71/63.14 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.14 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.14 102.71/63.14 The set Q consists of the following terms: 102.71/63.14 102.71/63.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.14 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.14 new_primMinusNatS1 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.14 new_primModNatS01(x0, x1) 102.71/63.14 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.14 new_primModNatS1(Zero, x0) 102.71/63.14 new_primMinusNatS2(Zero, Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.14 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) 102.71/63.14 new_primMinusNatS0(x0) 102.71/63.14 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.14 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.14 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.14 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.14 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.14 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.14 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.14 102.71/63.14 We have to consider all minimal (P,Q,R)-chains. 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (561) TransformationProof (EQUIVALENT) 102.71/63.14 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS2(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]: 102.71/63.14 102.71/63.14 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.14 102.71/63.14 102.71/63.14 ---------------------------------------- 102.71/63.14 102.71/63.14 (562) 102.71/63.14 Obligation: 102.71/63.14 Q DP problem: 102.71/63.14 The TRS P consists of the following rules: 102.71/63.14 102.71/63.14 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.14 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.14 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.14 102.71/63.14 The TRS R consists of the following rules: 102.71/63.14 102.71/63.14 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.14 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.14 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.14 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.15 new_primMinusNatS1 -> Zero 102.71/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.15 102.71/63.15 The set Q consists of the following terms: 102.71/63.15 102.71/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.15 new_primMinusNatS1 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.15 new_primModNatS01(x0, x1) 102.71/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.15 new_primModNatS1(Zero, x0) 102.71/63.15 new_primMinusNatS2(Zero, Zero) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.15 new_primModNatS1(Succ(Zero), Zero) 102.71/63.15 new_primMinusNatS0(x0) 102.71/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.15 102.71/63.15 We have to consider all minimal (P,Q,R)-chains. 102.71/63.15 ---------------------------------------- 102.71/63.15 102.71/63.15 (563) TransformationProof (EQUIVALENT) 102.71/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.15 102.71/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 102.71/63.15 102.71/63.15 ---------------------------------------- 102.71/63.15 102.71/63.15 (564) 102.71/63.15 Obligation: 102.71/63.15 Q DP problem: 102.71/63.15 The TRS P consists of the following rules: 102.71/63.15 102.71/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.15 102.71/63.15 The TRS R consists of the following rules: 102.71/63.15 102.71/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.15 new_primMinusNatS1 -> Zero 102.71/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.15 102.71/63.15 The set Q consists of the following terms: 102.71/63.15 102.71/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.15 new_primMinusNatS1 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.15 new_primModNatS01(x0, x1) 102.71/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.15 new_primModNatS1(Zero, x0) 102.71/63.15 new_primMinusNatS2(Zero, Zero) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.15 new_primModNatS1(Succ(Zero), Zero) 102.71/63.15 new_primMinusNatS0(x0) 102.71/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.15 102.71/63.15 We have to consider all minimal (P,Q,R)-chains. 102.71/63.15 ---------------------------------------- 102.71/63.15 102.71/63.15 (565) TransformationProof (EQUIVALENT) 102.71/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.15 102.71/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero)))) 102.71/63.15 102.71/63.15 102.71/63.15 ---------------------------------------- 102.71/63.15 102.71/63.15 (566) 102.71/63.15 Obligation: 102.71/63.15 Q DP problem: 102.71/63.15 The TRS P consists of the following rules: 102.71/63.15 102.71/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero), Zero, Zero))) 102.71/63.15 102.71/63.15 The TRS R consists of the following rules: 102.71/63.15 102.71/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.15 new_primMinusNatS1 -> Zero 102.71/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.15 102.71/63.15 The set Q consists of the following terms: 102.71/63.15 102.71/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.15 new_primMinusNatS1 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.15 new_primModNatS01(x0, x1) 102.71/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.15 new_primModNatS1(Zero, x0) 102.71/63.15 new_primMinusNatS2(Zero, Zero) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.15 new_primModNatS1(Succ(Zero), Zero) 102.71/63.15 new_primMinusNatS0(x0) 102.71/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.15 102.71/63.15 We have to consider all minimal (P,Q,R)-chains. 102.71/63.15 ---------------------------------------- 102.71/63.15 102.71/63.15 (567) DependencyGraphProof (EQUIVALENT) 102.71/63.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.71/63.15 ---------------------------------------- 102.71/63.15 102.71/63.15 (568) 102.71/63.15 Obligation: 102.71/63.15 Q DP problem: 102.71/63.15 The TRS P consists of the following rules: 102.71/63.15 102.71/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))) 102.71/63.15 102.71/63.15 The TRS R consists of the following rules: 102.71/63.15 102.71/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.71/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.71/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.71/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.71/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.71/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.71/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.71/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.71/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.71/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.71/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.71/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.71/63.15 new_primMinusNatS1 -> Zero 102.71/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.71/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.71/63.15 102.71/63.15 The set Q consists of the following terms: 102.71/63.15 102.71/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.71/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.71/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.71/63.15 new_primMinusNatS1 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.71/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.71/63.15 new_primModNatS01(x0, x1) 102.71/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.71/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.71/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.71/63.15 new_primModNatS1(Zero, x0) 102.71/63.15 new_primMinusNatS2(Zero, Zero) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.71/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.71/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.71/63.15 new_primModNatS1(Succ(Zero), Zero) 102.71/63.15 new_primMinusNatS0(x0) 102.71/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.71/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.71/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.71/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.71/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.71/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.71/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.71/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.71/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.71/63.15 102.71/63.15 We have to consider all minimal (P,Q,R)-chains. 102.71/63.15 ---------------------------------------- 102.71/63.15 102.71/63.15 (569) TransformationProof (EQUIVALENT) 102.71/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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]: 102.71/63.15 102.71/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.71/63.15 102.71/63.15 102.71/63.15 ---------------------------------------- 102.71/63.15 102.71/63.15 (570) 102.71/63.15 Obligation: 102.71/63.15 Q DP problem: 102.71/63.15 The TRS P consists of the following rules: 102.71/63.15 102.71/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.71/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.71/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.71/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (571) TransformationProof (EQUIVALENT) 102.80/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (572) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (573) TransformationProof (EQUIVALENT) 102.80/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (574) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (575) TransformationProof (EQUIVALENT) 102.80/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))), Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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)))))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (576) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x2), Succ(Zero))), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (577) TransformationProof (EQUIVALENT) 102.80/63.15 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(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_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (578) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(Succ(Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (579) TransformationProof (EQUIVALENT) 102.80/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (580) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (581) TransformationProof (EQUIVALENT) 102.80/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(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]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (582) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (583) TransformationProof (EQUIVALENT) 102.80/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (584) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (585) TransformationProof (EQUIVALENT) 102.80/63.15 By narrowing [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_quot0(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]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (586) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (587) TransformationProof (EQUIVALENT) 102.80/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS1, 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]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (588) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (589) TransformationProof (EQUIVALENT) 102.80/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (590) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Zero, Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.80/63.15 102.80/63.15 The TRS R consists of the following rules: 102.80/63.15 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.15 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.15 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.15 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.15 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.15 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.15 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.15 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.15 new_primMinusNatS1 -> Zero 102.80/63.15 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.15 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.15 102.80/63.15 The set Q consists of the following terms: 102.80/63.15 102.80/63.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.15 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.15 new_primMinusNatS1 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.15 new_primModNatS01(x0, x1) 102.80/63.15 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.15 new_primModNatS1(Zero, x0) 102.80/63.15 new_primMinusNatS2(Zero, Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.15 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.15 new_primModNatS1(Succ(Zero), Zero) 102.80/63.15 new_primMinusNatS0(x0) 102.80/63.15 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.15 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.15 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.15 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.15 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.15 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.15 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.15 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.15 102.80/63.15 We have to consider all minimal (P,Q,R)-chains. 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (591) TransformationProof (EQUIVALENT) 102.80/63.15 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(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]: 102.80/63.15 102.80/63.15 (new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 102.80/63.15 102.80/63.15 102.80/63.15 ---------------------------------------- 102.80/63.15 102.80/63.15 (592) 102.80/63.15 Obligation: 102.80/63.15 Q DP problem: 102.80/63.15 The TRS P consists of the following rules: 102.80/63.15 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.15 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.15 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(Zero), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 102.80/63.16 102.80/63.16 The TRS R consists of the following rules: 102.80/63.16 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.16 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.16 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.16 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.16 new_primMinusNatS1 -> Zero 102.80/63.16 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.16 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.16 102.80/63.16 The set Q consists of the following terms: 102.80/63.16 102.80/63.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.16 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.16 new_primMinusNatS1 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.16 new_primModNatS01(x0, x1) 102.80/63.16 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.16 new_primModNatS1(Zero, x0) 102.80/63.16 new_primMinusNatS2(Zero, Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) 102.80/63.16 new_primMinusNatS0(x0) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.16 102.80/63.16 We have to consider all minimal (P,Q,R)-chains. 102.80/63.16 ---------------------------------------- 102.80/63.16 102.80/63.16 (593) DependencyGraphProof (EQUIVALENT) 102.80/63.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.16 ---------------------------------------- 102.80/63.16 102.80/63.16 (594) 102.80/63.16 Obligation: 102.80/63.16 Q DP problem: 102.80/63.16 The TRS P consists of the following rules: 102.80/63.16 102.80/63.16 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.16 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 102.80/63.16 102.80/63.16 The TRS R consists of the following rules: 102.80/63.16 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.16 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.16 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.16 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.16 new_primMinusNatS1 -> Zero 102.80/63.16 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.16 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.16 102.80/63.16 The set Q consists of the following terms: 102.80/63.16 102.80/63.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.16 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.16 new_primMinusNatS1 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.16 new_primModNatS01(x0, x1) 102.80/63.16 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.16 new_primModNatS1(Zero, x0) 102.80/63.16 new_primMinusNatS2(Zero, Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) 102.80/63.16 new_primMinusNatS0(x0) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.16 102.80/63.16 We have to consider all minimal (P,Q,R)-chains. 102.80/63.16 ---------------------------------------- 102.80/63.16 102.80/63.16 (595) TransformationProof (EQUIVALENT) 102.80/63.16 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(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]: 102.80/63.16 102.80/63.16 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 ---------------------------------------- 102.80/63.16 102.80/63.16 (596) 102.80/63.16 Obligation: 102.80/63.16 Q DP problem: 102.80/63.16 The TRS P consists of the following rules: 102.80/63.16 102.80/63.16 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.16 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.16 102.80/63.16 The TRS R consists of the following rules: 102.80/63.16 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.16 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.16 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.16 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.16 new_primMinusNatS1 -> Zero 102.80/63.16 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.16 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.16 102.80/63.16 The set Q consists of the following terms: 102.80/63.16 102.80/63.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.16 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.16 new_primMinusNatS1 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.16 new_primModNatS01(x0, x1) 102.80/63.16 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.16 new_primModNatS1(Zero, x0) 102.80/63.16 new_primMinusNatS2(Zero, Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) 102.80/63.16 new_primMinusNatS0(x0) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.16 102.80/63.16 We have to consider all minimal (P,Q,R)-chains. 102.80/63.16 ---------------------------------------- 102.80/63.16 102.80/63.16 (597) TransformationProof (EQUIVALENT) 102.80/63.16 By rewriting [LPAR04] the rule new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 102.80/63.16 102.80/63.16 (new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 ---------------------------------------- 102.80/63.16 102.80/63.16 (598) 102.80/63.16 Obligation: 102.80/63.16 Q DP problem: 102.80/63.16 The TRS P consists of the following rules: 102.80/63.16 102.80/63.16 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.16 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 102.80/63.16 The TRS R consists of the following rules: 102.80/63.16 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.16 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.16 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.16 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.16 new_primMinusNatS1 -> Zero 102.80/63.16 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.16 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.16 102.80/63.16 The set Q consists of the following terms: 102.80/63.16 102.80/63.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.16 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.16 new_primMinusNatS1 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.16 new_primModNatS01(x0, x1) 102.80/63.16 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.16 new_primModNatS1(Zero, x0) 102.80/63.16 new_primMinusNatS2(Zero, Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) 102.80/63.16 new_primMinusNatS0(x0) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.16 102.80/63.16 We have to consider all minimal (P,Q,R)-chains. 102.80/63.16 ---------------------------------------- 102.80/63.16 102.80/63.16 (599) QDPOrderProof (EQUIVALENT) 102.80/63.16 We use the reduction pair processor [LPAR04,JAR06]. 102.80/63.16 102.80/63.16 102.80/63.16 The following pairs can be oriented strictly and are deleted. 102.80/63.16 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS1(Succ(x0), Zero)), Pos(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.16 The remaining pairs can at least be oriented weakly. 102.80/63.16 Used ordering: Polynomial interpretation [POLO]: 102.80/63.16 102.80/63.16 POL(False) = 1 102.80/63.16 POL(Neg(x_1)) = x_1 102.80/63.16 POL(Pos(x_1)) = x_1 102.80/63.16 POL(Succ(x_1)) = 1 102.80/63.16 POL(True) = 0 102.80/63.16 POL(Zero) = 0 102.80/63.16 POL(new_primEqInt(x_1, x_2)) = x_1 102.80/63.16 POL(new_primMinusNatS0(x_1)) = 1 + x_1 102.80/63.16 POL(new_primMinusNatS1) = 1 102.80/63.16 POL(new_primMinusNatS2(x_1, x_2)) = 0 102.80/63.16 POL(new_primModNatS01(x_1, x_2)) = 1 102.80/63.16 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 102.80/63.16 POL(new_primModNatS1(x_1, x_2)) = x_2 102.80/63.16 POL(new_quot(x_1, x_2, x_3, x_4, x_5, x_6)) = 1 + x_2 102.80/63.16 POL(new_quot0(x_1, x_2, x_3, x_4)) = x_2 + x_3 102.80/63.16 102.80/63.16 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 102.80/63.16 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.16 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.16 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.16 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.16 102.80/63.16 102.80/63.16 ---------------------------------------- 102.80/63.16 102.80/63.16 (600) 102.80/63.16 Obligation: 102.80/63.16 Q DP problem: 102.80/63.16 The TRS P consists of the following rules: 102.80/63.16 102.80/63.16 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.16 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.16 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.16 102.80/63.16 The TRS R consists of the following rules: 102.80/63.16 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.16 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.16 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.16 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.16 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.16 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.16 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.16 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.16 new_primMinusNatS1 -> Zero 102.80/63.16 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.16 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.16 102.80/63.16 The set Q consists of the following terms: 102.80/63.16 102.80/63.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.16 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.16 new_primMinusNatS1 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.16 new_primModNatS01(x0, x1) 102.80/63.16 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.16 new_primModNatS1(Zero, x0) 102.80/63.16 new_primMinusNatS2(Zero, Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.16 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.16 new_primModNatS1(Succ(Zero), Zero) 102.80/63.16 new_primMinusNatS0(x0) 102.80/63.16 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.16 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.16 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.16 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.16 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.16 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.16 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.16 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.16 102.80/63.16 We have to consider all minimal (P,Q,R)-chains. 102.80/63.16 ---------------------------------------- 102.80/63.16 102.80/63.16 (601) InductionCalculusProof (EQUIVALENT) 102.80/63.16 Note that final constraints are written in bold face. 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) the following chains were created: 102.80/63.16 *We consider the chain new_quot0(x3, False, x4, x5) -> new_quot(x3, x4, x5, x5, x4, x5), new_quot(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Neg(Succ(Succ(x7))), Pos(Succ(Zero)), Neg(Succ(Succ(x7)))) -> new_quot0(x6, False, Neg(Succ(Succ(x7))), Pos(Succ(Zero))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x3, x4, x5, x5, x4, x5)=new_quot(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Neg(Succ(Succ(x7))), Pos(Succ(Zero)), Neg(Succ(Succ(x7)))) ==> new_quot0(x3, False, x4, x5)_>=_new_quot(x3, x4, x5, x5, x4, x5)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Neg(Succ(Succ(x7))), Pos(Succ(Zero)), Neg(Succ(Succ(x7))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x8, False, x9, x10) -> new_quot(x8, x9, x10, x10, x9, x10), new_quot(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Succ(x12))), Pos(Succ(Zero)), Pos(Succ(Succ(x12)))) -> new_quot0(x11, False, Pos(Succ(Succ(x12))), Pos(Succ(Zero))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x8, x9, x10, x10, x9, x10)=new_quot(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Succ(x12))), Pos(Succ(Zero)), Pos(Succ(Succ(x12)))) ==> new_quot0(x8, False, x9, x10)_>=_new_quot(x8, x9, x10, x10, x9, x10)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Succ(x12))), Pos(Succ(Zero)), Pos(Succ(Succ(x12))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x13, False, x14, x15) -> new_quot(x13, x14, x15, x15, x14, x15), new_quot(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Pos(Succ(Succ(x17))), Neg(Succ(Zero)), Pos(Succ(Succ(x17)))) -> new_quot0(x16, False, Pos(Succ(Succ(x17))), Neg(Succ(Zero))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x13, x14, x15, x15, x14, x15)=new_quot(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Pos(Succ(Succ(x17))), Neg(Succ(Zero)), Pos(Succ(Succ(x17)))) ==> new_quot0(x13, False, x14, x15)_>=_new_quot(x13, x14, x15, x15, x14, x15)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Pos(Succ(Succ(x17))), Neg(Succ(Zero)), Pos(Succ(Succ(x17))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x18, False, x19, x20) -> new_quot(x18, x19, x20, x20, x19, x20), new_quot(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Succ(x22))), Neg(Succ(Zero)), Neg(Succ(Succ(x22)))) -> new_quot0(x21, False, Neg(Succ(Succ(x22))), Neg(Succ(Zero))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x18, x19, x20, x20, x19, x20)=new_quot(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Succ(x22))), Neg(Succ(Zero)), Neg(Succ(Succ(x22)))) ==> new_quot0(x18, False, x19, x20)_>=_new_quot(x18, x19, x20, x20, x19, x20)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Succ(x22))), Neg(Succ(Zero)), Neg(Succ(Succ(x22))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x23, False, x24, x25) -> new_quot(x23, x24, x25, x25, x24, x25), new_quot(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27))))) -> new_quot0(x26, False, Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x23, x24, x25, x25, x24, x25)=new_quot(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27))))) ==> new_quot0(x23, False, x24, x25)_>=_new_quot(x23, x24, x25, x25, x24, x25)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x28, False, x29, x30) -> new_quot(x28, x29, x30, x30, x29, x30), new_quot(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32))))) -> new_quot0(x31, False, Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x28, x29, x30, x30, x29, x30)=new_quot(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32))))) ==> new_quot0(x28, False, x29, x30)_>=_new_quot(x28, x29, x30, x30, x29, x30)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x33, False, x34, x35) -> new_quot(x33, x34, x35, x35, x34, x35), new_quot(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37))))) -> new_quot0(x36, False, Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x33, x34, x35, x35, x34, x35)=new_quot(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37))))) ==> new_quot0(x33, False, x34, x35)_>=_new_quot(x33, x34, x35, x35, x34, x35)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x38, False, x39, x40) -> new_quot(x38, x39, x40, x40, x39, x40), new_quot(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42))))) -> new_quot0(x41, False, Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x38, x39, x40, x40, x39, x40)=new_quot(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42))))) ==> new_quot0(x38, False, x39, x40)_>=_new_quot(x38, x39, x40, x40, x39, x40)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x43, False, x44, x45) -> new_quot(x43, x44, x45, x45, x44, x45), new_quot(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48)))))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x43, x44, x45, x45, x44, x45)=new_quot(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48)))))) ==> new_quot0(x43, False, x44, x45)_>=_new_quot(x43, x44, x45, x45, x44, x45)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x49, False, x50, x51) -> new_quot(x49, x50, x51, x51, x50, x51), new_quot(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53)))))) -> new_quot0(x52, False, Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x49, x50, x51, x51, x50, x51)=new_quot(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53)))))) ==> new_quot0(x49, False, x50, x51)_>=_new_quot(x49, x50, x51, x51, x50, x51)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x54, False, x55, x56) -> new_quot(x54, x55, x56, x56, x55, x56), new_quot(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x54, x55, x56, x56, x55, x56)=new_quot(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot0(x54, False, x55, x56)_>=_new_quot(x54, x55, x56, x56, x55, x56)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x59, False, x60, x61) -> new_quot(x59, x60, x61, x61, x60, x61), new_quot(x62, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero)))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x59, x60, x61, x61, x60, x61)=new_quot(x62, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x59, False, x60, x61)_>=_new_quot(x59, x60, x61, x61, x60, x61)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x59, False, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x59, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x64, False, x65, x66) -> new_quot(x64, x65, x66, x66, x65, x66), new_quot(x67, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x67, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x64, x65, x66, x66, x65, x66)=new_quot(x67, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x64, False, x65, x66)_>=_new_quot(x64, x65, x66, x66, x65, x66)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x64, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x64, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x68, False, x69, x70) -> new_quot(x68, x69, x70, x70, x69, x70), new_quot(x71, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73)))))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x68, x69, x70, x70, x69, x70)=new_quot(x71, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73)))))) ==> new_quot0(x68, False, x69, x70)_>=_new_quot(x68, x69, x70, x70, x69, x70)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x68, False, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))_>=_new_quot(x68, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x74, False, x75, x76) -> new_quot(x74, x75, x76, x76, x75, x76), new_quot(x77, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78)))))) -> new_quot0(x77, False, Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x74, x75, x76, x76, x75, x76)=new_quot(x77, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78)))))) ==> new_quot0(x74, False, x75, x76)_>=_new_quot(x74, x75, x76, x76, x75, x76)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x74, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))_>=_new_quot(x74, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x79, False, x80, x81) -> new_quot(x79, x80, x81, x81, x80, x81), new_quot(x82, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x79, x80, x81, x81, x80, x81)=new_quot(x82, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot0(x79, False, x80, x81)_>=_new_quot(x79, x80, x81, x81, x80, x81)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x79, False, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x79, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x84, False, x85, x86) -> new_quot(x84, x85, x86, x86, x85, x86), new_quot(x87, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero)))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x84, x85, x86, x86, x85, x86)=new_quot(x87, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x84, False, x85, x86)_>=_new_quot(x84, x85, x86, x86, x85, x86)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x84, False, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x84, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x89, False, x90, x91) -> new_quot(x89, x90, x91, x91, x90, x91), new_quot(x92, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x92, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x89, x90, x91, x91, x90, x91)=new_quot(x92, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x89, False, x90, x91)_>=_new_quot(x89, x90, x91, x91, x90, x91)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x89, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x89, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x93, False, x94, x95) -> new_quot(x93, x94, x95, x95, x94, x95), new_quot(x96, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98)))))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x93, x94, x95, x95, x94, x95)=new_quot(x96, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98)))))) ==> new_quot0(x93, False, x94, x95)_>=_new_quot(x93, x94, x95, x95, x94, x95)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x93, False, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))_>=_new_quot(x93, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x99, False, x100, x101) -> new_quot(x99, x100, x101, x101, x100, x101), new_quot(x102, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103)))))) -> new_quot0(x102, False, Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x99, x100, x101, x101, x100, x101)=new_quot(x102, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103)))))) ==> new_quot0(x99, False, x100, x101)_>=_new_quot(x99, x100, x101, x101, x100, x101)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x99, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_quot(x99, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x104, False, x105, x106) -> new_quot(x104, x105, x106, x106, x105, x106), new_quot(x107, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x104, x105, x106, x106, x105, x106)=new_quot(x107, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot0(x104, False, x105, x106)_>=_new_quot(x104, x105, x106, x106, x105, x106)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x104, False, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x104, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x109, False, x110, x111) -> new_quot(x109, x110, x111, x111, x110, x111), new_quot(x112, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero)))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x109, x110, x111, x111, x110, x111)=new_quot(x112, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x109, False, x110, x111)_>=_new_quot(x109, x110, x111, x111, x110, x111)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x109, False, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x109, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x114, False, x115, x116) -> new_quot(x114, x115, x116, x116, x115, x116), new_quot(x117, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x117, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x114, x115, x116, x116, x115, x116)=new_quot(x117, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) ==> new_quot0(x114, False, x115, x116)_>=_new_quot(x114, x115, x116, x116, x115, x116)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x114, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x114, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x118, False, x119, x120) -> new_quot(x118, x119, x120, x120, x119, x120), new_quot(x121, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123)))))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x118, x119, x120, x120, x119, x120)=new_quot(x121, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123)))))) ==> new_quot0(x118, False, x119, x120)_>=_new_quot(x118, x119, x120, x120, x119, x120)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x118, False, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))_>=_new_quot(x118, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x124, False, x125, x126) -> new_quot(x124, x125, x126, x126, x125, x126), new_quot(x127, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128)))))) -> new_quot0(x127, False, Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x124, x125, x126, x126, x125, x126)=new_quot(x127, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128)))))) ==> new_quot0(x124, False, x125, x126)_>=_new_quot(x124, x125, x126, x126, x125, x126)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x124, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))_>=_new_quot(x124, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x129, False, x130, x131) -> new_quot(x129, x130, x131, x131, x130, x131), new_quot(x132, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x129, x130, x131, x131, x130, x131)=new_quot(x132, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot0(x129, False, x130, x131)_>=_new_quot(x129, x130, x131, x131, x130, x131)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x129, False, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x129, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x134, False, x135, x136) -> new_quot(x134, x135, x136, x136, x135, x136), new_quot(x137, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero)))) -> new_quot0(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: 102.80/63.16 102.80/63.16 (1) (new_quot(x134, x135, x136, x136, x135, x136)=new_quot(x137, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x134, False, x135, x136)_>=_new_quot(x134, x135, x136, x136, x135, x136)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x134, False, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x134, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 *We consider the chain new_quot0(x139, False, x140, x141) -> new_quot(x139, x140, x141, x141, x140, x141), new_quot(x142, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x142, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot(x139, x140, x141, x141, x140, x141)=new_quot(x142, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) ==> new_quot0(x139, False, x140, x141)_>=_new_quot(x139, x140, x141, x141, x140, x141)) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot0(x139, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x139, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Neg(Succ(Succ(x144))), Pos(Succ(Zero)), Neg(Succ(Succ(x144)))) -> new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero))), new_quot0(x145, False, x146, x147) -> new_quot(x145, x146, x147, x147, x146, x147) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))=new_quot0(x145, False, x146, x147) ==> new_quot(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Neg(Succ(Succ(x144))), Pos(Succ(Zero)), Neg(Succ(Succ(x144))))_>=_new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Neg(Succ(Succ(x144))), Pos(Succ(Zero)), Neg(Succ(Succ(x144))))_>=_new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Succ(x205))), Pos(Succ(Zero)), Pos(Succ(Succ(x205)))) -> new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero))), new_quot0(x206, False, x207, x208) -> new_quot(x206, x207, x208, x208, x207, x208) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))=new_quot0(x206, False, x207, x208) ==> new_quot(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Succ(x205))), Pos(Succ(Zero)), Pos(Succ(Succ(x205))))_>=_new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Succ(x205))), Pos(Succ(Zero)), Pos(Succ(Succ(x205))))_>=_new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Pos(Succ(Succ(x266))), Neg(Succ(Zero)), Pos(Succ(Succ(x266)))) -> new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero))), new_quot0(x267, False, x268, x269) -> new_quot(x267, x268, x269, x269, x268, x269) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))=new_quot0(x267, False, x268, x269) ==> new_quot(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Pos(Succ(Succ(x266))), Neg(Succ(Zero)), Pos(Succ(Succ(x266))))_>=_new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Pos(Succ(Succ(x266))), Neg(Succ(Zero)), Pos(Succ(Succ(x266))))_>=_new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Succ(x327))), Neg(Succ(Zero)), Neg(Succ(Succ(x327)))) -> new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero))), new_quot0(x328, False, x329, x330) -> new_quot(x328, x329, x330, x330, x329, x330) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))=new_quot0(x328, False, x329, x330) ==> new_quot(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Succ(x327))), Neg(Succ(Zero)), Neg(Succ(Succ(x327))))_>=_new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Succ(x327))), Neg(Succ(Zero)), Neg(Succ(Succ(x327))))_>=_new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388))))) -> new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero)))), new_quot0(x389, False, x390, x391) -> new_quot(x389, x390, x391, x391, x390, x391) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))=new_quot0(x389, False, x390, x391) ==> new_quot(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))))_>=_new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))))_>=_new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449))))) -> new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero)))), new_quot0(x450, False, x451, x452) -> new_quot(x450, x451, x452, x452, x451, x452) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))=new_quot0(x450, False, x451, x452) ==> new_quot(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))))_>=_new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))))_>=_new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510))))) -> new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero)))), new_quot0(x511, False, x512, x513) -> new_quot(x511, x512, x513, x513, x512, x513) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))=new_quot0(x511, False, x512, x513) ==> new_quot(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))))_>=_new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))))_>=_new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571))))) -> new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero)))), new_quot0(x572, False, x573, x574) -> new_quot(x572, x573, x574, x574, x573, x574) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))=new_quot0(x572, False, x573, x574) ==> new_quot(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))))_>=_new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))))_>=_new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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: 102.80/63.16 *We consider the chain new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633)))))) -> new_quot0(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_quot0(x634, False, x635, x636) -> new_quot(x634, x635, x636, x636, x635, x636) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(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_quot0(x634, False, x635, x636) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=x1851 & Pos(Zero)=x1852 & new_primEqInt(x1851, x1852)=False ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=Neg(Succ(x1854)) & Pos(Zero)=Pos(x1853) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=Pos(Succ(x1855)) & Pos(Zero)=Pos(Zero) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (5) (Succ(Succ(x632))=x1856 & Succ(Succ(x633))=x1857 & new_primModNatS02(x1856, x1857, x632, x633)=Succ(x1855) ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (6) (new_primModNatS01(x1860, x1859)=Succ(x1855) & Succ(Succ(Succ(x1858)))=x1860 & Succ(Succ(Zero))=x1859 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 (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_quot(x1866, Pos(Succ(Succ(Succ(Succ(x1862))))), Neg(Succ(Succ(Succ(Succ(x1861))))), Neg(Succ(Succ(Succ(Succ(x1861))))), Pos(Succ(Succ(Succ(Succ(x1862))))), Neg(Succ(Succ(Succ(Succ(x1861))))))_>=_new_quot0(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_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 (8) (new_primModNatS01(x1868, x1867)=Succ(x1855) & Succ(Succ(Zero))=x1868 & Succ(Succ(Zero))=x1867 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 (9) (Succ(Succ(x1871))=Succ(x1855) & Succ(Succ(Zero))=x1871 & Succ(Succ(Succ(x1869)))=x1870 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1873), Succ(x1872)), Succ(x1872))=Succ(x1855) & Succ(Succ(Succ(x1858)))=x1873 & Succ(Succ(Zero))=x1872 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (7) using rule (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (11) (new_primModNatS02(x1864, x1863, x1862, x1861)=Succ(x1855) & Succ(Succ(Succ(x1862)))=x1864 & Succ(Succ(Succ(x1861)))=x1863 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1862)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1861)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1893), Succ(x1892)), Succ(x1892))=Succ(x1855) & Succ(Succ(Zero))=x1893 & Succ(Succ(Zero))=x1892 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (13) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (14) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (15) (new_primModNatS01(x1880, x1879)=Succ(x1855) & Succ(Succ(Succ(Succ(x1878))))=x1880 & Succ(Succ(Succ(Zero)))=x1879 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 (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_quot(x1886, Pos(Succ(Succ(Succ(Succ(Succ(x1882)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1881)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1881)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1882)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1881)))))))_>=_new_quot0(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_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (17) (new_primModNatS01(x1888, x1887)=Succ(x1855) & Succ(Succ(Succ(Zero)))=x1888 & Succ(Succ(Succ(Zero)))=x1887 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 (18) (Succ(Succ(x1891))=Succ(x1855) & Succ(Succ(Succ(Zero)))=x1891 & Succ(Succ(Succ(Succ(x1889))))=x1890 ==> new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (19) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (20) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (21) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (22) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (23) (new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722)))))) -> new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero))))), new_quot0(x723, False, x724, x725) -> new_quot(x723, x724, x725, x725, x724, x725) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot0(x723, False, x724, x725) ==> new_quot(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))))_>=_new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))))_>=_new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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: 102.80/63.16 *We consider the chain new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot0(x784, False, x785, x786) -> new_quot(x784, x785, x786, x786, x785, x786) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(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_quot0(x784, False, x785, x786) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=x1898 & Pos(Zero)=x1899 & new_primEqInt(x1898, x1899)=False ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (3) (False=False & Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=Neg(Succ(x1901)) & Pos(Zero)=Pos(x1900) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (4) (False=False & Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=Pos(Succ(x1902)) & Pos(Zero)=Pos(Zero) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (5) (Succ(x783)=x1903 & Succ(Succ(Zero))=x1904 & new_primModNatS1(x1903, x1904)=Succ(x1902) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (6) (Succ(Zero)=Succ(x1902) & Succ(x783)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1905) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (7) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x1902) & Succ(x783)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (8) (new_primModNatS1(new_primMinusNatS0(x1907), Zero)=Succ(x1902) & Succ(x783)=Succ(Succ(x1907)) & Succ(Succ(Zero))=Zero ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (9) (new_primModNatS02(x1909, x1908, x1909, x1908)=Succ(x1902) & Succ(x783)=Succ(Succ(x1909)) & Succ(Succ(Zero))=Succ(x1908) ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (10) (new_quot(x782, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (11) (x1909=x1910 & x1908=x1911 & new_primModNatS02(x1909, x1908, x1910, x1911)=Succ(x1902) & Succ(Zero)=x1908 ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1909)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1909)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (12) (new_primModNatS01(x1914, x1913)=Succ(x1902) & x1914=Succ(x1912) & x1913=Zero & Succ(Zero)=x1913 ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1914)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1914)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (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_quot(x1920, Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (14) (new_primModNatS01(x1922, x1921)=Succ(x1902) & x1922=Zero & x1921=Zero & Succ(Zero)=x1921 ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1922)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1922)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (15) (Succ(Succ(x1925))=Succ(x1902) & x1925=Zero & x1924=Succ(x1923) & Succ(Zero)=x1924 ==> new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1925)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1925)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (16) (new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (17) (new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(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: 102.80/63.16 *We consider the chain new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero)))) -> new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero))), new_quot0(x845, False, x846, x847) -> new_quot(x845, x846, x847, x847, x846, x847) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))=new_quot0(x845, False, x846, x847) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (Pos(new_primModNatS02(x844, Zero, x844, Zero))=x1928 & Pos(Zero)=x1929 & new_primEqInt(x1928, x1929)=False ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (3) (False=False & Pos(new_primModNatS02(x844, Zero, x844, Zero))=Neg(Succ(x1931)) & Pos(Zero)=Pos(x1930) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 102.80/63.16 102.80/63.16 (4) (False=False & Pos(new_primModNatS02(x844, Zero, x844, Zero))=Pos(Succ(x1932)) & Pos(Zero)=Pos(Zero) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (5) (Zero=x1933 & x844=x1934 & Zero=x1935 & new_primModNatS02(x844, x1933, x1934, x1935)=Succ(x1932) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x844, Zero, x844, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x844, Zero, x844, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (6) (new_primModNatS01(x1938, x1937)=Succ(x1932) & Zero=x1937 & x1938=Succ(x1936) & Zero=Zero ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x1938))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1938))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x1938, Zero, x1938, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1938, Zero, x1938, Zero)))) 102.80/63.16 102.80/63.16 (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_quot(x1944, Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1944, new_primEqInt(Pos(new_primModNatS02(x1942, Zero, x1942, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1942, Zero, x1942, Zero)))) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1942))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x1942, Zero, x1942, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1942, Zero, x1942, Zero)))) 102.80/63.16 102.80/63.16 (8) (new_primModNatS01(x1946, x1945)=Succ(x1932) & Zero=x1945 & x1946=Zero & Zero=Zero ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x1946))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1946))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x1946, Zero, x1946, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1946, Zero, x1946, Zero)))) 102.80/63.16 102.80/63.16 (9) (Succ(Succ(x1949))=Succ(x1932) & Zero=x1948 & x1949=Zero & Zero=Succ(x1947) ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(x1949))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1949))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(x1949, Zero, x1949, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1949, Zero, x1949, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (10) (Succ(x1936)=x1950 & new_primModNatS01(x1950, x1937)=Succ(x1932) & Zero=x1937 ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (11) (Zero=x1957 & new_primModNatS01(x1957, x1945)=Succ(x1932) & Zero=x1945 ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1952), Succ(x1951)), Succ(x1951))=Succ(x1932) & Succ(x1936)=x1952 & Zero=x1951 ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (13) (new_quot(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (14) (new_primModNatS1(new_primMinusNatS2(Succ(x1959), Succ(x1958)), Succ(x1958))=Succ(x1932) & Zero=x1959 & Zero=x1958 ==> new_quot(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (15) (new_quot(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), new_quot0(x905, False, x906, x907) -> new_quot(x905, x906, x907, x907, x906, x907) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_quot0(x905, False, x906, x907) ==> new_quot(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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: 102.80/63.16 *We consider the chain new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938)))))) -> new_quot0(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_quot0(x939, False, x940, x941) -> new_quot(x939, x940, x941, x941, x940, x941) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(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_quot0(x939, False, x940, x941) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=x1964 & Pos(Zero)=x1965 & new_primEqInt(x1964, x1965)=False ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (3) (False=False & Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=Neg(Succ(x1967)) & Pos(Zero)=Pos(x1966) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 (4) (False=False & Pos(new_primModNatS02(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=Pos(Succ(x1968)) & Pos(Zero)=Pos(Zero) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (5) (Succ(Succ(x937))=x1969 & Succ(Succ(x938))=x1970 & new_primModNatS02(x1969, x1970, x937, x938)=Succ(x1968) ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (6) (new_primModNatS01(x1973, x1972)=Succ(x1968) & Succ(Succ(Succ(x1971)))=x1973 & Succ(Succ(Zero))=x1972 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 (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_quot(x1979, Pos(Succ(Succ(Succ(Succ(x1975))))), Pos(Succ(Succ(Succ(Succ(x1974))))), Pos(Succ(Succ(Succ(Succ(x1974))))), Pos(Succ(Succ(Succ(Succ(x1975))))), Pos(Succ(Succ(Succ(Succ(x1974))))))_>=_new_quot0(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_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 (8) (new_primModNatS01(x1981, x1980)=Succ(x1968) & Succ(Succ(Zero))=x1981 & Succ(Succ(Zero))=x1980 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 (9) (Succ(Succ(x1984))=Succ(x1968) & Succ(Succ(Zero))=x1984 & Succ(Succ(Succ(x1982)))=x1983 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1986), Succ(x1985)), Succ(x1985))=Succ(x1968) & Succ(Succ(Succ(x1971)))=x1986 & Succ(Succ(Zero))=x1985 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (7) using rule (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (11) (new_primModNatS02(x1977, x1976, x1975, x1974)=Succ(x1968) & Succ(Succ(Succ(x1975)))=x1977 & Succ(Succ(Succ(x1974)))=x1976 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1975)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2006), Succ(x2005)), Succ(x2005))=Succ(x1968) & Succ(Succ(Zero))=x2006 & Succ(Succ(Zero))=x2005 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (13) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (14) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (15) (new_primModNatS01(x1993, x1992)=Succ(x1968) & Succ(Succ(Succ(Succ(x1991))))=x1993 & Succ(Succ(Succ(Zero)))=x1992 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 (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_quot(x1999, Pos(Succ(Succ(Succ(Succ(Succ(x1995)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1994)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1994)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1995)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1994)))))))_>=_new_quot0(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_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (17) (new_primModNatS01(x2001, x2000)=Succ(x1968) & Succ(Succ(Succ(Zero)))=x2001 & Succ(Succ(Succ(Zero)))=x2000 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 (18) (Succ(Succ(x2004))=Succ(x1968) & Succ(Succ(Succ(Zero)))=x2004 & Succ(Succ(Succ(Succ(x2002))))=x2003 ==> new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (19) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (20) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (21) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (22) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (23) (new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027)))))) -> new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero))))), new_quot0(x1028, False, x1029, x1030) -> new_quot(x1028, x1029, x1030, x1030, x1029, x1030) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot0(x1028, False, x1029, x1030) ==> new_quot(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))))_>=_new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))))_>=_new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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: 102.80/63.16 *We consider the chain new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot0(x1089, False, x1090, x1091) -> new_quot(x1089, x1090, x1091, x1091, x1090, x1091) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(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_quot0(x1089, False, x1090, x1091) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=x2011 & Pos(Zero)=x2012 & new_primEqInt(x2011, x2012)=False ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (3) (False=False & Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=Neg(Succ(x2014)) & Pos(Zero)=Pos(x2013) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (4) (False=False & Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=Pos(Succ(x2015)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (5) (Succ(x1088)=x2016 & Succ(Succ(Zero))=x2017 & new_primModNatS1(x2016, x2017)=Succ(x2015) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (6) (Succ(Zero)=Succ(x2015) & Succ(x1088)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2018) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (7) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x2015) & Succ(x1088)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (8) (new_primModNatS1(new_primMinusNatS0(x2020), Zero)=Succ(x2015) & Succ(x1088)=Succ(Succ(x2020)) & Succ(Succ(Zero))=Zero ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (9) (new_primModNatS02(x2022, x2021, x2022, x2021)=Succ(x2015) & Succ(x1088)=Succ(Succ(x2022)) & Succ(Succ(Zero))=Succ(x2021) ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (10) (new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (11) (x2022=x2023 & x2021=x2024 & new_primModNatS02(x2022, x2021, x2023, x2024)=Succ(x2015) & Succ(Zero)=x2021 ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2022)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2022)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (12) (new_primModNatS01(x2027, x2026)=Succ(x2015) & x2027=Succ(x2025) & x2026=Zero & Succ(Zero)=x2026 ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2027)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2027)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (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_quot(x2033, Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2031)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (14) (new_primModNatS01(x2035, x2034)=Succ(x2015) & x2035=Zero & x2034=Zero & Succ(Zero)=x2034 ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2035)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2035)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (15) (Succ(Succ(x2038))=Succ(x2015) & x2038=Zero & x2037=Succ(x2036) & Succ(Zero)=x2037 ==> new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2038)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2038)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (16) (new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (17) (new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(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: 102.80/63.16 *We consider the chain new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero)))) -> new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero))), new_quot0(x1150, False, x1151, x1152) -> new_quot(x1150, x1151, x1152, x1152, x1151, x1152) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))=new_quot0(x1150, False, x1151, x1152) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (Pos(new_primModNatS02(x1149, Zero, x1149, Zero))=x2041 & Pos(Zero)=x2042 & new_primEqInt(x2041, x2042)=False ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (3) (False=False & Pos(new_primModNatS02(x1149, Zero, x1149, Zero))=Neg(Succ(x2044)) & Pos(Zero)=Pos(x2043) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 102.80/63.16 102.80/63.16 (4) (False=False & Pos(new_primModNatS02(x1149, Zero, x1149, Zero))=Pos(Succ(x2045)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (5) (Zero=x2046 & x1149=x2047 & Zero=x2048 & new_primModNatS02(x1149, x2046, x2047, x2048)=Succ(x2045) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x1149, Zero, x1149, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1149, Zero, x1149, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (6) (new_primModNatS01(x2051, x2050)=Succ(x2045) & Zero=x2050 & x2051=Succ(x2049) & Zero=Zero ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x2051))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2051))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x2051, Zero, x2051, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2051, Zero, x2051, Zero)))) 102.80/63.16 102.80/63.16 (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_quot(x2057, Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x2057, new_primEqInt(Pos(new_primModNatS02(x2055, Zero, x2055, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2055, Zero, x2055, Zero)))) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2055))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x2055, Zero, x2055, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2055, Zero, x2055, Zero)))) 102.80/63.16 102.80/63.16 (8) (new_primModNatS01(x2059, x2058)=Succ(x2045) & Zero=x2058 & x2059=Zero & Zero=Zero ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x2059))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2059))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x2059, Zero, x2059, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2059, Zero, x2059, Zero)))) 102.80/63.16 102.80/63.16 (9) (Succ(Succ(x2062))=Succ(x2045) & Zero=x2061 & x2062=Zero & Zero=Succ(x2060) ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(x2062))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2062))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(x2062, Zero, x2062, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x2062, Zero, x2062, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (10) (Succ(x2049)=x2063 & new_primModNatS01(x2063, x2050)=Succ(x2045) & Zero=x2050 ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (11) (Zero=x2070 & new_primModNatS01(x2070, x2058)=Succ(x2045) & Zero=x2058 ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2065), Succ(x2064)), Succ(x2064))=Succ(x2045) & Succ(x2049)=x2065 & Zero=x2064 ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (13) (new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (14) (new_primModNatS1(new_primMinusNatS2(Succ(x2072), Succ(x2071)), Succ(x2071))=Succ(x2045) & Zero=x2072 & Zero=x2071 ==> new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (15) (new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 102.80/63.16 *We consider the chain new_quot(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), new_quot0(x1210, False, x1211, x1212) -> new_quot(x1210, x1211, x1212, x1212, x1211, x1212) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_quot0(x1210, False, x1211, x1212) ==> new_quot(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (new_quot(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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: 102.80/63.16 *We consider the chain new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243)))))) -> new_quot0(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_quot0(x1244, False, x1245, x1246) -> new_quot(x1244, x1245, x1246, x1246, x1245, x1246) which results in the following constraint: 102.80/63.16 102.80/63.16 (1) (new_quot0(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_quot0(x1244, False, x1245, x1246) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (2) (Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=x2077 & Pos(Zero)=x2078 & new_primEqInt(x2077, x2078)=False ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=Neg(Succ(x2080)) & Pos(Zero)=Pos(x2079) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=Pos(Succ(x2081)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (5) (Succ(Succ(x1242))=x2082 & Succ(Succ(x1243))=x2083 & new_primModNatS02(x2082, x2083, x1242, x1243)=Succ(x2080) ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (6) (new_primModNatS01(x2086, x2085)=Succ(x2080) & Succ(Succ(Succ(x2084)))=x2086 & Succ(Succ(Zero))=x2085 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 (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_quot(x2092, Neg(Succ(Succ(Succ(Succ(x2088))))), Pos(Succ(Succ(Succ(Succ(x2087))))), Pos(Succ(Succ(Succ(Succ(x2087))))), Neg(Succ(Succ(Succ(Succ(x2088))))), Pos(Succ(Succ(Succ(Succ(x2087))))))_>=_new_quot0(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_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 (8) (new_primModNatS01(x2094, x2093)=Succ(x2080) & Succ(Succ(Zero))=x2094 & Succ(Succ(Zero))=x2093 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 (9) (Succ(Succ(x2097))=Succ(x2080) & Succ(Succ(Zero))=x2097 & Succ(Succ(Succ(x2095)))=x2096 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x2099), Succ(x2098)), Succ(x2098))=Succ(x2080) & Succ(Succ(Succ(x2084)))=x2099 & Succ(Succ(Zero))=x2098 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (7) using rule (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (11) (new_primModNatS02(x2090, x2089, x2088, x2087)=Succ(x2080) & Succ(Succ(Succ(x2088)))=x2090 & Succ(Succ(Succ(x2087)))=x2089 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2088)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2087)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2119), Succ(x2118)), Succ(x2118))=Succ(x2080) & Succ(Succ(Zero))=x2119 & Succ(Succ(Zero))=x2118 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (13) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.16 102.80/63.16 (14) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 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: 102.80/63.16 102.80/63.16 (15) (new_primModNatS01(x2106, x2105)=Succ(x2080) & Succ(Succ(Succ(Succ(x2104))))=x2106 & Succ(Succ(Succ(Zero)))=x2105 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 (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_quot(x2112, Neg(Succ(Succ(Succ(Succ(Succ(x2108)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2107)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2107)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2108)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2107)))))))_>=_new_quot0(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_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 (17) (new_primModNatS01(x2114, x2113)=Succ(x2080) & Succ(Succ(Succ(Zero)))=x2114 & Succ(Succ(Succ(Zero)))=x2113 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.16 102.80/63.16 (18) (Succ(Succ(x2117))=Succ(x2080) & Succ(Succ(Succ(Zero)))=x2117 & Succ(Succ(Succ(Succ(x2115))))=x2116 ==> new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))))_>=_new_quot0(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)))))) 102.80/63.16 102.80/63.16 102.80/63.16 102.80/63.16 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 102.80/63.16 102.80/63.16 (19) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (20) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (21) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (22) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (23) (new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 102.80/63.17 *We consider the chain new_quot(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332)))))) -> new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero))))), new_quot0(x1333, False, x1334, x1335) -> new_quot(x1333, x1334, x1335, x1335, x1334, x1335) which results in the following constraint: 102.80/63.17 102.80/63.17 (1) (new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot0(x1333, False, x1334, x1335) ==> new_quot(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))))_>=_new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (2) (new_quot(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))))_>=_new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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: 102.80/63.17 *We consider the chain new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot0(x1394, False, x1395, x1396) -> new_quot(x1394, x1395, x1396, x1396, x1395, x1396) which results in the following constraint: 102.80/63.17 102.80/63.17 (1) (new_quot0(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_quot0(x1394, False, x1395, x1396) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (2) (Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=x2124 & Pos(Zero)=x2125 & new_primEqInt(x2124, x2125)=False ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (3) (False=False & Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=Neg(Succ(x2127)) & Pos(Zero)=Pos(x2126) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (4) (False=False & Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=Pos(Succ(x2128)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (5) (Succ(x1393)=x2129 & Succ(Succ(Zero))=x2130 & new_primModNatS1(x2129, x2130)=Succ(x2127) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (6) (Succ(Zero)=Succ(x2127) & Succ(x1393)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2131) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (7) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x2127) & Succ(x1393)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (8) (new_primModNatS1(new_primMinusNatS0(x2133), Zero)=Succ(x2127) & Succ(x1393)=Succ(Succ(x2133)) & Succ(Succ(Zero))=Zero ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (9) (new_primModNatS02(x2135, x2134, x2135, x2134)=Succ(x2127) & Succ(x1393)=Succ(Succ(x2135)) & Succ(Succ(Zero))=Succ(x2134) ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (10) (new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (11) (x2135=x2136 & x2134=x2137 & new_primModNatS02(x2135, x2134, x2136, x2137)=Succ(x2127) & Succ(Zero)=x2134 ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2135)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2135)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (12) (new_primModNatS01(x2140, x2139)=Succ(x2127) & x2140=Succ(x2138) & x2139=Zero & Succ(Zero)=x2139 ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2140)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2140)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (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_quot(x2146, Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2144)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (14) (new_primModNatS01(x2148, x2147)=Succ(x2127) & x2148=Zero & x2147=Zero & Succ(Zero)=x2147 ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2148)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2148)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (15) (Succ(Succ(x2151))=Succ(x2127) & x2151=Zero & x2150=Succ(x2149) & Succ(Zero)=x2150 ==> new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2151)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2151)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (16) (new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (17) (new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(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: 102.80/63.17 *We consider the chain new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero)))) -> new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero))), new_quot0(x1455, False, x1456, x1457) -> new_quot(x1455, x1456, x1457, x1457, x1456, x1457) which results in the following constraint: 102.80/63.17 102.80/63.17 (1) (new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))=new_quot0(x1455, False, x1456, x1457) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (2) (Neg(new_primModNatS02(x1454, Zero, x1454, Zero))=x2154 & Pos(Zero)=x2155 & new_primEqInt(x2154, x2155)=False ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (3) (False=False & Neg(new_primModNatS02(x1454, Zero, x1454, Zero))=Neg(Succ(x2157)) & Pos(Zero)=Pos(x2156) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 102.80/63.17 102.80/63.17 (4) (False=False & Neg(new_primModNatS02(x1454, Zero, x1454, Zero))=Pos(Succ(x2158)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (5) (Zero=x2159 & x1454=x2160 & Zero=x2161 & new_primModNatS02(x1454, x2159, x2160, x2161)=Succ(x2157) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x1454, Zero, x1454, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1454, Zero, x1454, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (6) (new_primModNatS01(x2164, x2163)=Succ(x2157) & Zero=x2163 & x2164=Succ(x2162) & Zero=Zero ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x2164))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2164))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x2164, Zero, x2164, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2164, Zero, x2164, Zero)))) 102.80/63.17 102.80/63.17 (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_quot(x2170, Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x2170, new_primEqInt(Neg(new_primModNatS02(x2168, Zero, x2168, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2168, Zero, x2168, Zero)))) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2168))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x2168, Zero, x2168, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2168, Zero, x2168, Zero)))) 102.80/63.17 102.80/63.17 (8) (new_primModNatS01(x2172, x2171)=Succ(x2157) & Zero=x2171 & x2172=Zero & Zero=Zero ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x2172))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2172))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x2172, Zero, x2172, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2172, Zero, x2172, Zero)))) 102.80/63.17 102.80/63.17 (9) (Succ(Succ(x2175))=Succ(x2157) & Zero=x2174 & x2175=Zero & Zero=Succ(x2173) ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(x2175))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2175))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(x2175, Zero, x2175, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x2175, Zero, x2175, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (10) (Succ(x2162)=x2176 & new_primModNatS01(x2176, x2163)=Succ(x2157) & Zero=x2163 ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (11) (Zero=x2183 & new_primModNatS01(x2183, x2171)=Succ(x2157) & Zero=x2171 ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2178), Succ(x2177)), Succ(x2177))=Succ(x2157) & Succ(x2162)=x2178 & Zero=x2177 ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (13) (new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (14) (new_primModNatS1(new_primMinusNatS2(Succ(x2185), Succ(x2184)), Succ(x2184))=Succ(x2157) & Zero=x2185 & Zero=x2184 ==> new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (15) (new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: 102.80/63.17 *We consider the chain new_quot(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot0(x1515, False, x1516, x1517) -> new_quot(x1515, x1516, x1517, x1517, x1516, x1517) which results in the following constraint: 102.80/63.17 102.80/63.17 (1) (new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot0(x1515, False, x1516, x1517) ==> new_quot(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (2) (new_quot(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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: 102.80/63.17 *We consider the chain new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548)))))) -> new_quot0(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_quot0(x1549, False, x1550, x1551) -> new_quot(x1549, x1550, x1551, x1551, x1550, x1551) which results in the following constraint: 102.80/63.17 102.80/63.17 (1) (new_quot0(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_quot0(x1549, False, x1550, x1551) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (2) (Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=x2190 & Pos(Zero)=x2191 & new_primEqInt(x2190, x2191)=False ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (3) (False=False & Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=Neg(Succ(x2193)) & Pos(Zero)=Pos(x2192) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 (4) (False=False & Neg(new_primModNatS02(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=Pos(Succ(x2194)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (5) (Succ(Succ(x1547))=x2195 & Succ(Succ(x1548))=x2196 & new_primModNatS02(x2195, x2196, x1547, x1548)=Succ(x2193) ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (6) (new_primModNatS01(x2199, x2198)=Succ(x2193) & Succ(Succ(Succ(x2197)))=x2199 & Succ(Succ(Zero))=x2198 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 (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_quot(x2205, Neg(Succ(Succ(Succ(Succ(x2201))))), Neg(Succ(Succ(Succ(Succ(x2200))))), Neg(Succ(Succ(Succ(Succ(x2200))))), Neg(Succ(Succ(Succ(Succ(x2201))))), Neg(Succ(Succ(Succ(Succ(x2200))))))_>=_new_quot0(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_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 (8) (new_primModNatS01(x2207, x2206)=Succ(x2193) & Succ(Succ(Zero))=x2207 & Succ(Succ(Zero))=x2206 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 (9) (Succ(Succ(x2210))=Succ(x2193) & Succ(Succ(Zero))=x2210 & Succ(Succ(Succ(x2208)))=x2209 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x2212), Succ(x2211)), Succ(x2211))=Succ(x2193) & Succ(Succ(Succ(x2197)))=x2212 & Succ(Succ(Zero))=x2211 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (7) using rule (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (11) (new_primModNatS02(x2203, x2202, x2201, x2200)=Succ(x2193) & Succ(Succ(Succ(x2201)))=x2203 & Succ(Succ(Succ(x2200)))=x2202 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2201)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2232), Succ(x2231)), Succ(x2231))=Succ(x2193) & Succ(Succ(Zero))=x2232 & Succ(Succ(Zero))=x2231 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (13) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (14) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (15) (new_primModNatS01(x2219, x2218)=Succ(x2193) & Succ(Succ(Succ(Succ(x2217))))=x2219 & Succ(Succ(Succ(Zero)))=x2218 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 (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_quot(x2225, Neg(Succ(Succ(Succ(Succ(Succ(x2221)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2220)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2220)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2221)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2220)))))))_>=_new_quot0(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_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (17) (new_primModNatS01(x2227, x2226)=Succ(x2193) & Succ(Succ(Succ(Zero)))=x2227 & Succ(Succ(Succ(Zero)))=x2226 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 (18) (Succ(Succ(x2230))=Succ(x2193) & Succ(Succ(Succ(Zero)))=x2230 & Succ(Succ(Succ(Succ(x2228))))=x2229 ==> new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (19) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (20) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (21) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (22) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (23) (new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 102.80/63.17 *We consider the chain new_quot(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637)))))) -> new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero))))), new_quot0(x1638, False, x1639, x1640) -> new_quot(x1638, x1639, x1640, x1640, x1639, x1640) which results in the following constraint: 102.80/63.17 102.80/63.17 (1) (new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot0(x1638, False, x1639, x1640) ==> new_quot(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))))_>=_new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (2) (new_quot(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))))_>=_new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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: 102.80/63.17 *We consider the chain new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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_quot0(x1699, False, x1700, x1701) -> new_quot(x1699, x1700, x1701, x1701, x1700, x1701) which results in the following constraint: 102.80/63.17 102.80/63.17 (1) (new_quot0(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_quot0(x1699, False, x1700, x1701) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (2) (Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=x2237 & Pos(Zero)=x2238 & new_primEqInt(x2237, x2238)=False ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (3) (False=False & Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=Neg(Succ(x2240)) & Pos(Zero)=Pos(x2239) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (4) (False=False & Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=Pos(Succ(x2241)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (5) (Succ(x1698)=x2242 & Succ(Succ(Zero))=x2243 & new_primModNatS1(x2242, x2243)=Succ(x2240) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (6) (Succ(Zero)=Succ(x2240) & Succ(x1698)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2244) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (7) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x2240) & Succ(x1698)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (8) (new_primModNatS1(new_primMinusNatS0(x2246), Zero)=Succ(x2240) & Succ(x1698)=Succ(Succ(x2246)) & Succ(Succ(Zero))=Zero ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (9) (new_primModNatS02(x2248, x2247, x2248, x2247)=Succ(x2240) & Succ(x1698)=Succ(Succ(x2248)) & Succ(Succ(Zero))=Succ(x2247) ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (10) (new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (11) (x2248=x2249 & x2247=x2250 & new_primModNatS02(x2248, x2247, x2249, x2250)=Succ(x2240) & Succ(Zero)=x2247 ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2248)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2248)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (12) (new_primModNatS01(x2253, x2252)=Succ(x2240) & x2253=Succ(x2251) & x2252=Zero & Succ(Zero)=x2252 ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2253)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2253)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (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_quot(x2259, Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2257)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (14) (new_primModNatS01(x2261, x2260)=Succ(x2240) & x2261=Zero & x2260=Zero & Succ(Zero)=x2260 ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2261)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2261)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 (15) (Succ(Succ(x2264))=Succ(x2240) & x2264=Zero & x2263=Succ(x2262) & Succ(Zero)=x2263 ==> new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2264)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2264)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (16) (new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (17) (new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(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: 102.80/63.17 *We consider the chain new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero)))) -> new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero))), new_quot0(x1760, False, x1761, x1762) -> new_quot(x1760, x1761, x1762, x1762, x1761, x1762) which results in the following constraint: 102.80/63.17 102.80/63.17 (1) (new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))=new_quot0(x1760, False, x1761, x1762) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (2) (Neg(new_primModNatS02(x1759, Zero, x1759, Zero))=x2267 & Pos(Zero)=x2268 & new_primEqInt(x2267, x2268)=False ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (3) (False=False & Neg(new_primModNatS02(x1759, Zero, x1759, Zero))=Neg(Succ(x2270)) & Pos(Zero)=Pos(x2269) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 102.80/63.17 102.80/63.17 (4) (False=False & Neg(new_primModNatS02(x1759, Zero, x1759, Zero))=Pos(Succ(x2271)) & Pos(Zero)=Pos(Zero) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (3) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (5) (Zero=x2272 & x1759=x2273 & Zero=x2274 & new_primModNatS02(x1759, x2272, x2273, x2274)=Succ(x2270) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x1759, Zero, x1759, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1759, Zero, x1759, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (6) (new_primModNatS01(x2277, x2276)=Succ(x2270) & Zero=x2276 & x2277=Succ(x2275) & Zero=Zero ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x2277))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2277))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x2277, Zero, x2277, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2277, Zero, x2277, Zero)))) 102.80/63.17 102.80/63.17 (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_quot(x2283, Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x2283, new_primEqInt(Neg(new_primModNatS02(x2281, Zero, x2281, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2281, Zero, x2281, Zero)))) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2281))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x2281, Zero, x2281, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2281, Zero, x2281, Zero)))) 102.80/63.17 102.80/63.17 (8) (new_primModNatS01(x2285, x2284)=Succ(x2270) & Zero=x2284 & x2285=Zero & Zero=Zero ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x2285))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2285))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x2285, Zero, x2285, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2285, Zero, x2285, Zero)))) 102.80/63.17 102.80/63.17 (9) (Succ(Succ(x2288))=Succ(x2270) & Zero=x2287 & x2288=Zero & Zero=Succ(x2286) ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(x2288))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2288))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(x2288, Zero, x2288, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x2288, Zero, x2288, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (10) (Succ(x2275)=x2289 & new_primModNatS01(x2289, x2276)=Succ(x2270) & Zero=x2276 ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (11) (Zero=x2296 & new_primModNatS01(x2296, x2284)=Succ(x2270) & Zero=x2284 ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2291), Succ(x2290)), Succ(x2290))=Succ(x2270) & Succ(x2275)=x2291 & Zero=x2290 ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (13) (new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 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: 102.80/63.17 102.80/63.17 (14) (new_primModNatS1(new_primMinusNatS2(Succ(x2298), Succ(x2297)), Succ(x2297))=Succ(x2270) & Zero=x2298 & Zero=x2297 ==> new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.17 102.80/63.17 (15) (new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 For Pair new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: 102.80/63.17 *We consider the chain new_quot(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot0(x1820, False, x1821, x1822) -> new_quot(x1820, x1821, x1822, x1822, x1821, x1822) which results in the following constraint: 102.80/63.17 102.80/63.17 (1) (new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot0(x1820, False, x1821, x1822) ==> new_quot(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.17 102.80/63.17 (2) (new_quot(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 To summarize, we get the following constraints P__>=_ for the following pairs. 102.80/63.17 102.80/63.17 *new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.17 102.80/63.17 *(new_quot0(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Neg(Succ(Succ(x7))), Pos(Succ(Zero)), Neg(Succ(Succ(x7))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Succ(x12))), Pos(Succ(Zero)), Pos(Succ(Succ(x12))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Pos(Succ(Succ(x17))), Neg(Succ(Zero)), Pos(Succ(Succ(x17))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Succ(x22))), Neg(Succ(Zero)), Neg(Succ(Succ(x22))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x59, False, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x59, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x64, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x64, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x68, False, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))_>=_new_quot(x68, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x74, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))_>=_new_quot(x74, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x79, False, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x79, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x84, False, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x84, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x89, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x89, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x93, False, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))_>=_new_quot(x93, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x99, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_quot(x99, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x104, False, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x104, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x109, False, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))_>=_new_quot(x109, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x114, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x114, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x118, False, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))_>=_new_quot(x118, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x124, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))_>=_new_quot(x124, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x129, False, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x129, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x134, False, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))_>=_new_quot(x134, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot0(x139, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x139, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Neg(Succ(Succ(x144))), Pos(Succ(Zero)), Neg(Succ(Succ(x144))))_>=_new_quot0(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Succ(x205))), Pos(Succ(Zero)), Pos(Succ(Succ(x205))))_>=_new_quot0(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Pos(Succ(Succ(x266))), Neg(Succ(Zero)), Pos(Succ(Succ(x266))))_>=_new_quot0(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Succ(x327))), Neg(Succ(Zero)), Neg(Succ(Succ(x327))))_>=_new_quot0(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.17 102.80/63.17 *(new_quot(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))))_>=_new_quot0(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.17 102.80/63.17 *(new_quot(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))))_>=_new_quot0(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.17 102.80/63.17 *(new_quot(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))))_>=_new_quot0(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.17 102.80/63.17 *(new_quot(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))))_>=_new_quot0(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.17 102.80/63.17 *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1889))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1869)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1858)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1882))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1881))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 *(new_quot(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))))_>=_new_quot0(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.17 102.80/63.17 *(new_quot(x782, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x782, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1916))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1936)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x843, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.17 102.80/63.17 *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2002))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1982)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1995))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 *(new_quot(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))))_>=_new_quot0(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.17 102.80/63.17 *(new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2029))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2049)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1148, new_primEqInt(Pos(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.17 102.80/63.17 *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2115))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2095)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2084)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2104))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2108))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2107))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 *(new_quot(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))))_>=_new_quot0(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.17 102.80/63.17 *(new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2142))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2162)))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1453, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.17 102.80/63.17 *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2228))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2208)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2197)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2217))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2221))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2220))))))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot0(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))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.17 102.80/63.17 *(new_quot(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))))_>=_new_quot0(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.17 102.80/63.17 *(new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2255))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(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)))))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2275)))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(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)))) 102.80/63.17 102.80/63.17 102.80/63.17 *(new_quot(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1758, new_primEqInt(Neg(new_primModNatS02(Zero, Zero, Zero, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 *new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.17 102.80/63.17 *(new_quot(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 102.80/63.17 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (602) 102.80/63.17 Obligation: 102.80/63.17 Q DP problem: 102.80/63.17 The TRS P consists of the following rules: 102.80/63.17 102.80/63.17 new_quot0(vuz268, False, vuz501, vuz505) -> new_quot(vuz268, vuz501, vuz505, vuz505, vuz501, vuz505) 102.80/63.17 new_quot(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.17 new_quot(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.17 new_quot(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot0(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.17 new_quot(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot0(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Pos(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.17 new_quot(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_quot0(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_quot0(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))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot0(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot0(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))))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, new_primEqInt(Neg(new_primModNatS02(x0, Zero, x0, Zero)), Pos(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.17 new_quot(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_quot0(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.17 102.80/63.17 The TRS R consists of the following rules: 102.80/63.17 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.17 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.17 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.17 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.17 new_primMinusNatS1 -> Zero 102.80/63.17 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.17 102.80/63.17 The set Q consists of the following terms: 102.80/63.17 102.80/63.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.17 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.17 new_primMinusNatS1 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.17 new_primModNatS01(x0, x1) 102.80/63.17 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.17 new_primModNatS1(Zero, x0) 102.80/63.17 new_primMinusNatS2(Zero, Zero) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) 102.80/63.17 new_primMinusNatS0(x0) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.17 102.80/63.17 We have to consider all minimal (P,Q,R)-chains. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (603) 102.80/63.17 Obligation: 102.80/63.17 Q DP problem: 102.80/63.17 The TRS P consists of the following rules: 102.80/63.17 102.80/63.17 new_signumReal1(vuz461, Succ(vuz4620), Succ(vuz4630), h) -> new_signumReal1(vuz461, vuz4620, vuz4630, h) 102.80/63.17 102.80/63.17 R is empty. 102.80/63.17 Q is empty. 102.80/63.17 We have to consider all minimal (P,Q,R)-chains. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (604) QDPSizeChangeProof (EQUIVALENT) 102.80/63.17 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. 102.80/63.17 102.80/63.17 From the DPs we obtained the following set of size-change graphs: 102.80/63.17 *new_signumReal1(vuz461, Succ(vuz4620), Succ(vuz4630), h) -> new_signumReal1(vuz461, vuz4620, vuz4630, h) 102.80/63.17 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 102.80/63.17 102.80/63.17 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (605) 102.80/63.17 YES 102.80/63.17 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (606) 102.80/63.17 Obligation: 102.80/63.17 Q DP problem: 102.80/63.17 The TRS P consists of the following rules: 102.80/63.17 102.80/63.17 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) 102.80/63.17 new_gcd0Gcd'2(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) 102.80/63.17 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_rem(vuz259, vuz258)) 102.80/63.17 102.80/63.17 The TRS R consists of the following rules: 102.80/63.17 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.17 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.17 new_primEqNat0(Zero, Zero) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.17 new_fromInt(vuz31) -> vuz31 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) 102.80/63.17 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.17 new_error -> error([]) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.17 new_primEqNat0(Succ(vuz170000), Zero) -> False 102.80/63.17 new_primEqNat0(Zero, Succ(vuz173000)) -> False 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.17 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primMinusNatS1 -> Zero 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_rem(vuz156, vuz155) -> new_primRemInt(vuz156, vuz155) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 102.80/63.17 The set Q consists of the following terms: 102.80/63.17 102.80/63.17 new_primEqNat0(Zero, Zero) 102.80/63.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.17 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.17 new_primMinusNatS1 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.17 new_primModNatS01(x0, x1) 102.80/63.17 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.17 new_primModNatS1(Zero, x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS2(Zero, Zero) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.17 new_error 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) 102.80/63.17 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.17 new_esEs(x0) 102.80/63.17 new_primEqNat0(Succ(x0), Zero) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS0(x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.17 new_rem(x0, x1) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.17 new_primEqNat0(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.17 new_fromInt(x0) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.17 102.80/63.17 We have to consider all minimal (P,Q,R)-chains. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (607) DependencyGraphProof (EQUIVALENT) 102.80/63.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (608) 102.80/63.17 Obligation: 102.80/63.17 Q DP problem: 102.80/63.17 The TRS P consists of the following rules: 102.80/63.17 102.80/63.17 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_rem(vuz259, vuz258)) 102.80/63.17 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) 102.80/63.17 102.80/63.17 The TRS R consists of the following rules: 102.80/63.17 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.17 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.17 new_primEqNat0(Zero, Zero) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.17 new_fromInt(vuz31) -> vuz31 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) 102.80/63.17 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.17 new_error -> error([]) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.17 new_primEqNat0(Succ(vuz170000), Zero) -> False 102.80/63.17 new_primEqNat0(Zero, Succ(vuz173000)) -> False 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.17 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primMinusNatS1 -> Zero 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_rem(vuz156, vuz155) -> new_primRemInt(vuz156, vuz155) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 102.80/63.17 The set Q consists of the following terms: 102.80/63.17 102.80/63.17 new_primEqNat0(Zero, Zero) 102.80/63.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.17 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.17 new_primMinusNatS1 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.17 new_primModNatS01(x0, x1) 102.80/63.17 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.17 new_primModNatS1(Zero, x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS2(Zero, Zero) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.17 new_error 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) 102.80/63.17 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.17 new_esEs(x0) 102.80/63.17 new_primEqNat0(Succ(x0), Zero) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS0(x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.17 new_rem(x0, x1) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.17 new_primEqNat0(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.17 new_fromInt(x0) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.17 102.80/63.17 We have to consider all minimal (P,Q,R)-chains. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (609) TransformationProof (EQUIVALENT) 102.80/63.17 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_rem(vuz259, vuz258)) at position [1] we obtained the following new rules [LPAR04]: 102.80/63.17 102.80/63.17 (new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)),new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258))) 102.80/63.17 102.80/63.17 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (610) 102.80/63.17 Obligation: 102.80/63.17 Q DP problem: 102.80/63.17 The TRS P consists of the following rules: 102.80/63.17 102.80/63.17 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) 102.80/63.17 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.17 102.80/63.17 The TRS R consists of the following rules: 102.80/63.17 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.17 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.17 new_primEqNat0(Zero, Zero) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.17 new_fromInt(vuz31) -> vuz31 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) 102.80/63.17 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.17 new_error -> error([]) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.17 new_primEqNat0(Succ(vuz170000), Zero) -> False 102.80/63.17 new_primEqNat0(Zero, Succ(vuz173000)) -> False 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.17 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primMinusNatS1 -> Zero 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_rem(vuz156, vuz155) -> new_primRemInt(vuz156, vuz155) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 102.80/63.17 The set Q consists of the following terms: 102.80/63.17 102.80/63.17 new_primEqNat0(Zero, Zero) 102.80/63.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.17 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.17 new_primMinusNatS1 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.17 new_primModNatS01(x0, x1) 102.80/63.17 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.17 new_primModNatS1(Zero, x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS2(Zero, Zero) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.17 new_error 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) 102.80/63.17 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.17 new_esEs(x0) 102.80/63.17 new_primEqNat0(Succ(x0), Zero) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS0(x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.17 new_rem(x0, x1) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.17 new_primEqNat0(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.17 new_fromInt(x0) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.17 102.80/63.17 We have to consider all minimal (P,Q,R)-chains. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (611) UsableRulesProof (EQUIVALENT) 102.80/63.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (612) 102.80/63.17 Obligation: 102.80/63.17 Q DP problem: 102.80/63.17 The TRS P consists of the following rules: 102.80/63.17 102.80/63.17 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) 102.80/63.17 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.17 102.80/63.17 The TRS R consists of the following rules: 102.80/63.17 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_error -> error([]) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.17 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.17 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.17 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.17 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.17 new_primMinusNatS1 -> Zero 102.80/63.17 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.17 new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) 102.80/63.17 new_fromInt(vuz31) -> vuz31 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.17 new_primEqNat0(Zero, Zero) -> True 102.80/63.17 new_primEqNat0(Succ(vuz170000), Zero) -> False 102.80/63.17 new_primEqNat0(Zero, Succ(vuz173000)) -> False 102.80/63.17 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 102.80/63.17 102.80/63.17 The set Q consists of the following terms: 102.80/63.17 102.80/63.17 new_primEqNat0(Zero, Zero) 102.80/63.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.17 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.17 new_primMinusNatS1 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.17 new_primModNatS01(x0, x1) 102.80/63.17 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.17 new_primModNatS1(Zero, x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS2(Zero, Zero) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.17 new_error 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) 102.80/63.17 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.17 new_esEs(x0) 102.80/63.17 new_primEqNat0(Succ(x0), Zero) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS0(x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.17 new_rem(x0, x1) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.17 new_primEqNat0(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.17 new_fromInt(x0) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.17 102.80/63.17 We have to consider all minimal (P,Q,R)-chains. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (613) QReductionProof (EQUIVALENT) 102.80/63.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 102.80/63.17 102.80/63.17 new_rem(x0, x1) 102.80/63.17 102.80/63.17 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (614) 102.80/63.17 Obligation: 102.80/63.17 Q DP problem: 102.80/63.17 The TRS P consists of the following rules: 102.80/63.17 102.80/63.17 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) 102.80/63.17 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.17 102.80/63.17 The TRS R consists of the following rules: 102.80/63.17 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_error -> error([]) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.17 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.17 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.17 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.17 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.17 new_primMinusNatS1 -> Zero 102.80/63.17 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.17 new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) 102.80/63.17 new_fromInt(vuz31) -> vuz31 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.17 new_primEqNat0(Zero, Zero) -> True 102.80/63.17 new_primEqNat0(Succ(vuz170000), Zero) -> False 102.80/63.17 new_primEqNat0(Zero, Succ(vuz173000)) -> False 102.80/63.17 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 102.80/63.17 102.80/63.17 The set Q consists of the following terms: 102.80/63.17 102.80/63.17 new_primEqNat0(Zero, Zero) 102.80/63.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.17 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.17 new_primMinusNatS1 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.17 new_primModNatS01(x0, x1) 102.80/63.17 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.17 new_primModNatS1(Zero, x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS2(Zero, Zero) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.17 new_error 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) 102.80/63.17 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.17 new_esEs(x0) 102.80/63.17 new_primEqNat0(Succ(x0), Zero) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS0(x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.17 new_primEqNat0(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.17 new_fromInt(x0) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.17 102.80/63.17 We have to consider all minimal (P,Q,R)-chains. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (615) TransformationProof (EQUIVALENT) 102.80/63.17 By rewriting [LPAR04] the rule new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_esEs(vuz258), vuz259, vuz258) at position [0] we obtained the following new rules [LPAR04]: 102.80/63.17 102.80/63.17 (new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258),new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258)) 102.80/63.17 102.80/63.17 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (616) 102.80/63.17 Obligation: 102.80/63.17 Q DP problem: 102.80/63.17 The TRS P consists of the following rules: 102.80/63.17 102.80/63.17 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.17 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258) 102.80/63.17 102.80/63.17 The TRS R consists of the following rules: 102.80/63.17 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_error -> error([]) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.17 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.17 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.17 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.17 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.17 new_primMinusNatS1 -> Zero 102.80/63.17 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.17 new_esEs(vuz170) -> new_primEqInt(vuz170, new_fromInt(Pos(Zero))) 102.80/63.17 new_fromInt(vuz31) -> vuz31 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.17 new_primEqNat0(Zero, Zero) -> True 102.80/63.17 new_primEqNat0(Succ(vuz170000), Zero) -> False 102.80/63.17 new_primEqNat0(Zero, Succ(vuz173000)) -> False 102.80/63.17 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 102.80/63.17 102.80/63.17 The set Q consists of the following terms: 102.80/63.17 102.80/63.17 new_primEqNat0(Zero, Zero) 102.80/63.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.17 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.17 new_primMinusNatS1 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.17 new_primModNatS01(x0, x1) 102.80/63.17 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.17 new_primModNatS1(Zero, x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS2(Zero, Zero) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.17 new_error 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) 102.80/63.17 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.17 new_esEs(x0) 102.80/63.17 new_primEqNat0(Succ(x0), Zero) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS0(x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.17 new_primEqNat0(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.17 new_fromInt(x0) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.17 102.80/63.17 We have to consider all minimal (P,Q,R)-chains. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (617) UsableRulesProof (EQUIVALENT) 102.80/63.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (618) 102.80/63.17 Obligation: 102.80/63.17 Q DP problem: 102.80/63.17 The TRS P consists of the following rules: 102.80/63.17 102.80/63.17 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.17 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258) 102.80/63.17 102.80/63.17 The TRS R consists of the following rules: 102.80/63.17 102.80/63.17 new_fromInt(vuz31) -> vuz31 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.17 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 102.80/63.17 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.17 new_primEqNat0(Zero, Zero) -> True 102.80/63.17 new_primEqNat0(Succ(vuz170000), Zero) -> False 102.80/63.17 new_primEqNat0(Zero, Succ(vuz173000)) -> False 102.80/63.17 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.17 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.17 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.17 new_error -> error([]) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.17 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.17 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.17 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.17 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.17 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.17 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.17 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.17 new_primMinusNatS1 -> Zero 102.80/63.17 102.80/63.17 The set Q consists of the following terms: 102.80/63.17 102.80/63.17 new_primEqNat0(Zero, Zero) 102.80/63.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.17 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.17 new_primMinusNatS1 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.17 new_primModNatS01(x0, x1) 102.80/63.17 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.17 new_primModNatS1(Zero, x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS2(Zero, Zero) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.17 new_error 102.80/63.17 new_primModNatS1(Succ(Zero), Zero) 102.80/63.17 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.17 new_esEs(x0) 102.80/63.17 new_primEqNat0(Succ(x0), Zero) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.17 new_primMinusNatS0(x0) 102.80/63.17 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.17 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.17 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.17 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.17 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.17 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.17 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.17 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.17 new_primEqNat0(Zero, Succ(x0)) 102.80/63.17 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.17 new_fromInt(x0) 102.80/63.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.17 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.17 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.17 102.80/63.17 We have to consider all minimal (P,Q,R)-chains. 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (619) QReductionProof (EQUIVALENT) 102.80/63.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 102.80/63.17 102.80/63.17 new_esEs(x0) 102.80/63.17 102.80/63.17 102.80/63.17 ---------------------------------------- 102.80/63.17 102.80/63.17 (620) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_fromInt(vuz31) -> vuz31 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.18 new_primEqNat0(Zero, Zero) -> True 102.80/63.18 new_primEqNat0(Succ(vuz170000), Zero) -> False 102.80/63.18 new_primEqNat0(Zero, Succ(vuz173000)) -> False 102.80/63.18 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primEqNat0(Zero, Zero) 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.18 new_primEqNat0(Succ(x0), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primEqNat0(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.18 new_fromInt(x0) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (621) TransformationProof (EQUIVALENT) 102.80/63.18 By rewriting [LPAR04] the rule new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, new_fromInt(Pos(Zero))), vuz259, vuz258) at position [0,1] we obtained the following new rules [LPAR04]: 102.80/63.18 102.80/63.18 (new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258),new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258)) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (622) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_fromInt(vuz31) -> vuz31 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) -> True 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Neg(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Neg(Zero)) -> False 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Pos(Succ(vuz17300))) -> new_primEqNat0(vuz17000, vuz17300) 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Neg(vuz1730)) -> False 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(vuz17300))) -> False 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(vuz17300))) -> False 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) -> True 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.18 new_primEqNat0(Zero, Zero) -> True 102.80/63.18 new_primEqNat0(Succ(vuz170000), Zero) -> False 102.80/63.18 new_primEqNat0(Zero, Succ(vuz173000)) -> False 102.80/63.18 new_primEqNat0(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat0(vuz170000, vuz173000) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primEqNat0(Zero, Zero) 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.18 new_primEqNat0(Succ(x0), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primEqNat0(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.18 new_fromInt(x0) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (623) UsableRulesProof (EQUIVALENT) 102.80/63.18 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (624) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primEqNat0(Zero, Zero) 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.18 new_primEqNat0(Succ(x0), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primEqNat0(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.18 new_fromInt(x0) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (625) QReductionProof (EQUIVALENT) 102.80/63.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 102.80/63.18 102.80/63.18 new_primEqNat0(Zero, Zero) 102.80/63.18 new_primEqNat0(Succ(x0), Succ(x1)) 102.80/63.18 new_primEqNat0(Succ(x0), Zero) 102.80/63.18 new_primEqNat0(Zero, Succ(x0)) 102.80/63.18 new_fromInt(x0) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (626) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (627) TransformationProof (EQUIVALENT) 102.80/63.18 By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz259, vuz258) -> new_gcd0Gcd'1(new_primEqInt(vuz258, Pos(Zero)), vuz259, vuz258) at position [0] we obtained the following new rules [LPAR04]: 102.80/63.18 102.80/63.18 (new_gcd0Gcd'(y0, Pos(Zero)) -> new_gcd0Gcd'1(True, y0, Pos(Zero)),new_gcd0Gcd'(y0, Pos(Zero)) -> new_gcd0Gcd'1(True, y0, Pos(Zero))) 102.80/63.18 (new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))),new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0)))) 102.80/63.18 (new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))),new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0)))) 102.80/63.18 (new_gcd0Gcd'(y0, Neg(Zero)) -> new_gcd0Gcd'1(True, y0, Neg(Zero)),new_gcd0Gcd'(y0, Neg(Zero)) -> new_gcd0Gcd'1(True, y0, Neg(Zero))) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (628) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Zero)) -> new_gcd0Gcd'1(True, y0, Pos(Zero)) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Zero)) -> new_gcd0Gcd'1(True, y0, Neg(Zero)) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (629) DependencyGraphProof (EQUIVALENT) 102.80/63.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (630) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) -> True 102.80/63.18 new_primEqInt(Pos(Succ(vuz17000)), Pos(Zero)) -> False 102.80/63.18 new_primEqInt(Neg(Succ(vuz17000)), Pos(vuz1730)) -> False 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) -> True 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (631) UsableRulesProof (EQUIVALENT) 102.80/63.18 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (632) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (633) QReductionProof (EQUIVALENT) 102.80/63.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 102.80/63.18 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Zero)) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Zero)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Succ(x1))) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Succ(x0))) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Succ(x1))) 102.80/63.18 new_primEqInt(Pos(Zero), Pos(Succ(x0))) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Neg(x1)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Pos(x1)) 102.80/63.18 new_primEqInt(Neg(Zero), Neg(Zero)) 102.80/63.18 new_primEqInt(Neg(Succ(x0)), Neg(Zero)) 102.80/63.18 new_primEqInt(Pos(Succ(x0)), Pos(Zero)) 102.80/63.18 new_primEqInt(Pos(Zero), Neg(Succ(x0))) 102.80/63.18 new_primEqInt(Neg(Zero), Pos(Succ(x0))) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (634) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (635) MNOCProof (EQUIVALENT) 102.80/63.18 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (636) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 102.80/63.18 Q is empty. 102.80/63.18 We have to consider all (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (637) InductionCalculusProof (EQUIVALENT) 102.80/63.18 Note that final constraints are written in bold face. 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 For Pair new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) the following chains were created: 102.80/63.18 *We consider the chain new_gcd0Gcd'(x2, Pos(Succ(x3))) -> new_gcd0Gcd'1(False, x2, Pos(Succ(x3))), new_gcd0Gcd'1(False, x4, x5) -> new_gcd0Gcd'(x5, new_primRemInt(x4, x5)) which results in the following constraint: 102.80/63.18 102.80/63.18 (1) (new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))=new_gcd0Gcd'1(False, x4, x5) ==> new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.18 102.80/63.18 (2) (new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 For Pair new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) the following chains were created: 102.80/63.18 *We consider the chain new_gcd0Gcd'1(False, x8, x9) -> new_gcd0Gcd'(x9, new_primRemInt(x8, x9)), new_gcd0Gcd'(x10, Pos(Succ(x11))) -> new_gcd0Gcd'1(False, x10, Pos(Succ(x11))) which results in the following constraint: 102.80/63.18 102.80/63.18 (1) (new_gcd0Gcd'(x9, new_primRemInt(x8, x9))=new_gcd0Gcd'(x10, Pos(Succ(x11))) ==> new_gcd0Gcd'1(False, x8, x9)_>=_new_gcd0Gcd'(x9, new_primRemInt(x8, x9))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.18 102.80/63.18 (2) (new_primRemInt(x8, x9)=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, x8, x9)_>=_new_gcd0Gcd'(x9, new_primRemInt(x8, x9))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x8, x9)=Pos(Succ(x11)) which results in the following new constraints: 102.80/63.18 102.80/63.18 (3) (Pos(new_primModNatS1(x27, x26))=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Pos(x27), Neg(Succ(x26)))_>=_new_gcd0Gcd'(Neg(Succ(x26)), new_primRemInt(Pos(x27), Neg(Succ(x26))))) 102.80/63.18 102.80/63.18 (4) (Pos(new_primModNatS1(x29, x28))=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Pos(x29), Pos(Succ(x28)))_>=_new_gcd0Gcd'(Pos(Succ(x28)), new_primRemInt(Pos(x29), Pos(Succ(x28))))) 102.80/63.18 102.80/63.18 (5) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Neg(x30), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Neg(x30), Neg(Zero)))) 102.80/63.18 102.80/63.18 (6) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Pos(x33), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Pos(x33), Pos(Zero)))) 102.80/63.18 102.80/63.18 (7) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Pos(x36), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Pos(x36), Neg(Zero)))) 102.80/63.18 102.80/63.18 (8) (new_error=Pos(Succ(x11)) ==> new_gcd0Gcd'1(False, Neg(x37), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Neg(x37), Pos(Zero)))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 102.80/63.18 102.80/63.18 (9) (new_primModNatS1(x27, x26)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(x27), Neg(Succ(x26)))_>=_new_gcd0Gcd'(Neg(Succ(x26)), new_primRemInt(Pos(x27), Neg(Succ(x26))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 102.80/63.18 102.80/63.18 (10) (new_primModNatS1(x29, x28)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(x29), Pos(Succ(x28)))_>=_new_gcd0Gcd'(Pos(Succ(x28)), new_primRemInt(Pos(x29), Pos(Succ(x28))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We solved constraint (5) using rule (V) (with possible (I) afterwards).We solved constraint (6) using rule (V) (with possible (I) afterwards).We solved constraint (7) using rule (V) (with possible (I) afterwards).We solved constraint (8) using rule (V) (with possible (I) afterwards).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x27, x26)=Succ(x11) which results in the following new constraints: 102.80/63.18 102.80/63.18 (11) (Succ(Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x38))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x38)))))) 102.80/63.18 102.80/63.18 (12) (new_primModNatS1(new_primMinusNatS0(x40), Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(x40))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 (13) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 (14) (new_primModNatS02(x42, x41, x42, x41)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(x42))), Neg(Succ(Succ(x41))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x41))), new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x41)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (11) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.18 102.80/63.18 (15) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x38))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x38)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x40))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (17) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x47))), Neg(Succ(Succ(x48))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x48))), new_primRemInt(Pos(Succ(Succ(x47))), Neg(Succ(Succ(x48)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x29, x28)=Succ(x11) which results in the following new constraints: 102.80/63.18 102.80/63.18 (19) (Succ(Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x49)))))) 102.80/63.18 102.80/63.18 (20) (new_primModNatS1(new_primMinusNatS0(x51), Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(x51))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x51))), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 (21) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 (22) (new_primModNatS02(x53, x52, x53, x52)=Succ(x11) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(x53))), Pos(Succ(Succ(x52))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x52))), new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x52)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (19) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.18 102.80/63.18 (23) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x49)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (20) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (24) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x51))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x51))), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (21) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (25) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (22) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (26) (new_gcd0Gcd'1(False, Pos(Succ(Succ(x58))), Pos(Succ(Succ(x59))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x59))), new_primRemInt(Pos(Succ(Succ(x58))), Pos(Succ(Succ(x59)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 *We consider the chain new_gcd0Gcd'1(False, x14, x15) -> new_gcd0Gcd'(x15, new_primRemInt(x14, x15)), new_gcd0Gcd'(x16, Neg(Succ(x17))) -> new_gcd0Gcd'1(False, x16, Neg(Succ(x17))) which results in the following constraint: 102.80/63.18 102.80/63.18 (1) (new_gcd0Gcd'(x15, new_primRemInt(x14, x15))=new_gcd0Gcd'(x16, Neg(Succ(x17))) ==> new_gcd0Gcd'1(False, x14, x15)_>=_new_gcd0Gcd'(x15, new_primRemInt(x14, x15))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.18 102.80/63.18 (2) (new_primRemInt(x14, x15)=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, x14, x15)_>=_new_gcd0Gcd'(x15, new_primRemInt(x14, x15))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x14, x15)=Neg(Succ(x17)) which results in the following new constraints: 102.80/63.18 102.80/63.18 (3) (new_error=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Neg(x64), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Neg(x64), Neg(Zero)))) 102.80/63.18 102.80/63.18 (4) (Neg(new_primModNatS1(x66, x65))=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Neg(x66), Pos(Succ(x65)))_>=_new_gcd0Gcd'(Pos(Succ(x65)), new_primRemInt(Neg(x66), Pos(Succ(x65))))) 102.80/63.18 102.80/63.18 (5) (new_error=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Pos(x67), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Pos(x67), Pos(Zero)))) 102.80/63.18 102.80/63.18 (6) (Neg(new_primModNatS1(x69, x68))=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Neg(x69), Neg(Succ(x68)))_>=_new_gcd0Gcd'(Neg(Succ(x68)), new_primRemInt(Neg(x69), Neg(Succ(x68))))) 102.80/63.18 102.80/63.18 (7) (new_error=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Pos(x70), Neg(Zero))_>=_new_gcd0Gcd'(Neg(Zero), new_primRemInt(Pos(x70), Neg(Zero)))) 102.80/63.18 102.80/63.18 (8) (new_error=Neg(Succ(x17)) ==> new_gcd0Gcd'1(False, Neg(x71), Pos(Zero))_>=_new_gcd0Gcd'(Pos(Zero), new_primRemInt(Neg(x71), Pos(Zero)))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We solved constraint (3) using rule (V) (with possible (I) afterwards).We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 102.80/63.18 102.80/63.18 (9) (new_primModNatS1(x66, x65)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(x66), Pos(Succ(x65)))_>=_new_gcd0Gcd'(Pos(Succ(x65)), new_primRemInt(Neg(x66), Pos(Succ(x65))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We solved constraint (5) using rule (V) (with possible (I) afterwards).We simplified constraint (6) using rules (I), (II) which results in the following new constraint: 102.80/63.18 102.80/63.18 (10) (new_primModNatS1(x69, x68)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(x69), Neg(Succ(x68)))_>=_new_gcd0Gcd'(Neg(Succ(x68)), new_primRemInt(Neg(x69), Neg(Succ(x68))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We solved constraint (7) using rule (V) (with possible (I) afterwards).We solved constraint (8) using rule (V) (with possible (I) afterwards).We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x66, x65)=Succ(x17) which results in the following new constraints: 102.80/63.18 102.80/63.18 (11) (Succ(Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x72))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x72)))))) 102.80/63.18 102.80/63.18 (12) (new_primModNatS1(new_primMinusNatS0(x74), Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(x74))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x74))), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 (13) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 (14) (new_primModNatS02(x76, x75, x76, x75)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(x76))), Pos(Succ(Succ(x75))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x75))), new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x75)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (11) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.18 102.80/63.18 (15) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x72))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x72)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x74))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x74))), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (17) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x81))), Pos(Succ(Succ(x82))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x82))), new_primRemInt(Neg(Succ(Succ(x81))), Pos(Succ(Succ(x82)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x69, x68)=Succ(x17) which results in the following new constraints: 102.80/63.18 102.80/63.18 (19) (Succ(Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x83))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x83))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x83)))))) 102.80/63.18 102.80/63.18 (20) (new_primModNatS1(new_primMinusNatS0(x85), Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(x85))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x85))), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 (21) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 (22) (new_primModNatS02(x87, x86, x87, x86)=Succ(x17) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(x87))), Neg(Succ(Succ(x86))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x86))), new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x86)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (19) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.18 102.80/63.18 (23) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x83))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x83))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x83)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (20) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (24) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x85))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x85))), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (21) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (25) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (22) using rules (III), (IV), (VII) which results in the following new constraint: 102.80/63.18 102.80/63.18 (26) (new_gcd0Gcd'1(False, Neg(Succ(Succ(x92))), Neg(Succ(Succ(x93))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x93))), new_primRemInt(Neg(Succ(Succ(x92))), Neg(Succ(Succ(x93)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 For Pair new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) the following chains were created: 102.80/63.18 *We consider the chain new_gcd0Gcd'(x20, Neg(Succ(x21))) -> new_gcd0Gcd'1(False, x20, Neg(Succ(x21))), new_gcd0Gcd'1(False, x22, x23) -> new_gcd0Gcd'(x23, new_primRemInt(x22, x23)) which results in the following constraint: 102.80/63.18 102.80/63.18 (1) (new_gcd0Gcd'1(False, x20, Neg(Succ(x21)))=new_gcd0Gcd'1(False, x22, x23) ==> new_gcd0Gcd'(x20, Neg(Succ(x21)))_>=_new_gcd0Gcd'1(False, x20, Neg(Succ(x21)))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.80/63.18 102.80/63.18 (2) (new_gcd0Gcd'(x20, Neg(Succ(x21)))_>=_new_gcd0Gcd'1(False, x20, Neg(Succ(x21)))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 To summarize, we get the following constraints P__>=_ for the following pairs. 102.80/63.18 102.80/63.18 *new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 *new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x38))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x38))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x38)))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x49))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x49))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x49)))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(x40))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x40))), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(x47))), Neg(Succ(Succ(x48))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x48))), new_primRemInt(Pos(Succ(Succ(x47))), Neg(Succ(Succ(x48)))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(x51))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x51))), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(x58))), Pos(Succ(Succ(x59))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x59))), new_primRemInt(Pos(Succ(Succ(x58))), Pos(Succ(Succ(x59)))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x72))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x72))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x72)))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x83))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x83))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x83)))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(x74))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x74))), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'(Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(x81))), Pos(Succ(Succ(x82))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x82))), new_primRemInt(Neg(Succ(Succ(x81))), Pos(Succ(Succ(x82)))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(x85))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x85))), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'(Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 102.80/63.18 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(x92))), Neg(Succ(Succ(x93))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x93))), new_primRemInt(Neg(Succ(Succ(x92))), Neg(Succ(Succ(x93)))))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 *new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 102.80/63.18 *(new_gcd0Gcd'(x20, Neg(Succ(x21)))_>=_new_gcd0Gcd'1(False, x20, Neg(Succ(x21)))) 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 102.80/63.18 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. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (638) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (639) TransformationProof (EQUIVALENT) 102.80/63.18 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vuz259, vuz258) -> new_gcd0Gcd'(vuz258, new_primRemInt(vuz259, vuz258)) at position [1] we obtained the following new rules [LPAR04]: 102.80/63.18 102.80/63.18 (new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 102.80/63.18 (new_gcd0Gcd'1(False, Neg(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error)) 102.80/63.18 (new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error)) 102.80/63.18 (new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error),new_gcd0Gcd'1(False, Pos(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error)) 102.80/63.18 (new_gcd0Gcd'1(False, Neg(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error),new_gcd0Gcd'1(False, Neg(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error)) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (640) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Zero)) -> new_gcd0Gcd'(Neg(Zero), new_error) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Zero)) -> new_gcd0Gcd'(Pos(Zero), new_error) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (641) DependencyGraphProof (EQUIVALENT) 102.80/63.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (642) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Succ(vuz15500))) -> Pos(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Neg(Succ(vuz15500))) -> Neg(new_primModNatS1(vuz1560, vuz15500)) 102.80/63.18 new_primRemInt(Pos(vuz1560), Neg(Zero)) -> new_error 102.80/63.18 new_primRemInt(Neg(vuz1560), Pos(Zero)) -> new_error 102.80/63.18 new_error -> error([]) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (643) UsableRulesProof (EQUIVALENT) 102.80/63.18 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (644) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_error 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (645) QReductionProof (EQUIVALENT) 102.80/63.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 102.80/63.18 102.80/63.18 new_primRemInt(Pos(x0), Neg(Succ(x1))) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Succ(x1))) 102.80/63.18 new_error 102.80/63.18 new_primRemInt(Pos(x0), Pos(Succ(x1))) 102.80/63.18 new_primRemInt(Pos(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Pos(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Zero)) 102.80/63.18 new_primRemInt(Pos(x0), Pos(Zero)) 102.80/63.18 new_primRemInt(Neg(x0), Neg(Succ(x1))) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (646) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (647) TransformationProof (EQUIVALENT) 102.80/63.18 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.18 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (648) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Pos(Zero)) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (649) DependencyGraphProof (EQUIVALENT) 102.80/63.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (650) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (651) TransformationProof (EQUIVALENT) 102.80/63.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.18 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (652) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (653) DependencyGraphProof (EQUIVALENT) 102.80/63.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (654) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (655) TransformationProof (EQUIVALENT) 102.80/63.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.18 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (656) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (657) TransformationProof (EQUIVALENT) 102.80/63.18 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.18 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1)))) 102.80/63.18 102.80/63.18 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (658) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Pos(Zero)) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.18 102.80/63.18 The TRS R consists of the following rules: 102.80/63.18 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.18 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.18 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.18 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.18 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.18 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.18 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.18 new_primMinusNatS1 -> Zero 102.80/63.18 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.18 102.80/63.18 The set Q consists of the following terms: 102.80/63.18 102.80/63.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.18 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.18 new_primMinusNatS1 102.80/63.18 new_primModNatS01(x0, x1) 102.80/63.18 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.18 new_primModNatS1(Zero, x0) 102.80/63.18 new_primMinusNatS2(Zero, Zero) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Zero) 102.80/63.18 new_primMinusNatS0(x0) 102.80/63.18 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.18 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.18 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.18 102.80/63.18 We have to consider all minimal (P,Q,R)-chains. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (659) DependencyGraphProof (EQUIVALENT) 102.80/63.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.18 ---------------------------------------- 102.80/63.18 102.80/63.18 (660) 102.80/63.18 Obligation: 102.80/63.18 Q DP problem: 102.80/63.18 The TRS P consists of the following rules: 102.80/63.18 102.80/63.18 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.18 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.18 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (661) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (662) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (663) DependencyGraphProof (EQUIVALENT) 102.80/63.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (664) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (665) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (666) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (667) TransformationProof (EQUIVALENT) 102.80/63.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero))) 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (668) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'(Neg(Succ(x0)), Neg(Zero)) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (669) DependencyGraphProof (EQUIVALENT) 102.80/63.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (670) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (671) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (672) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (673) DependencyGraphProof (EQUIVALENT) 102.80/63.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (674) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (675) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (676) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (677) TransformationProof (EQUIVALENT) 102.80/63.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero))) 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (678) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'(Pos(Succ(x0)), Neg(Zero)) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (679) DependencyGraphProof (EQUIVALENT) 102.80/63.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (680) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (681) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (682) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (683) DependencyGraphProof (EQUIVALENT) 102.80/63.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (684) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (685) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (686) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (687) TransformationProof (EQUIVALENT) 102.80/63.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (688) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (689) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (690) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (691) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (692) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (693) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (694) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (695) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (696) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (697) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (698) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (699) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (700) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (701) DependencyGraphProof (EQUIVALENT) 102.80/63.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (702) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (703) TransformationProof (EQUIVALENT) 102.80/63.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (704) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (705) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (706) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (707) DependencyGraphProof (EQUIVALENT) 102.80/63.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (708) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (709) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (710) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (711) TransformationProof (EQUIVALENT) 102.80/63.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Pos(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero)))) 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (712) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.19 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.19 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.19 new_primMinusNatS1 -> Zero 102.80/63.19 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.19 102.80/63.19 The set Q consists of the following terms: 102.80/63.19 102.80/63.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.19 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.19 new_primMinusNatS1 102.80/63.19 new_primModNatS01(x0, x1) 102.80/63.19 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.19 new_primModNatS1(Zero, x0) 102.80/63.19 new_primMinusNatS2(Zero, Zero) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) 102.80/63.19 new_primMinusNatS0(x0) 102.80/63.19 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.19 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.19 102.80/63.19 We have to consider all minimal (P,Q,R)-chains. 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (713) TransformationProof (EQUIVALENT) 102.80/63.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.19 102.80/63.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 102.80/63.19 102.80/63.19 102.80/63.19 ---------------------------------------- 102.80/63.19 102.80/63.19 (714) 102.80/63.19 Obligation: 102.80/63.19 Q DP problem: 102.80/63.19 The TRS P consists of the following rules: 102.80/63.19 102.80/63.19 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.80/63.19 102.80/63.19 The TRS R consists of the following rules: 102.80/63.19 102.80/63.19 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.19 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.19 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.19 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.19 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (715) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (716) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (717) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (718) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (719) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (720) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (721) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (722) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (723) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (724) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (725) DependencyGraphProof (EQUIVALENT) 102.80/63.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (726) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (727) TransformationProof (EQUIVALENT) 102.80/63.20 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (728) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (729) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (730) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (731) DependencyGraphProof (EQUIVALENT) 102.80/63.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (732) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (733) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (734) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (735) TransformationProof (EQUIVALENT) 102.80/63.20 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (736) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (737) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (738) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (739) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (740) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (741) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (742) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (743) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (744) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (745) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (746) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (747) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (748) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (749) DependencyGraphProof (EQUIVALENT) 102.80/63.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (750) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (751) TransformationProof (EQUIVALENT) 102.80/63.20 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (752) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (753) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (754) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (755) DependencyGraphProof (EQUIVALENT) 102.80/63.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (756) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (757) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (758) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (759) TransformationProof (EQUIVALENT) 102.80/63.20 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(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]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(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(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (760) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (761) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (762) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.20 102.80/63.20 The TRS R consists of the following rules: 102.80/63.20 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.20 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.20 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.20 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.20 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.20 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.20 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.20 new_primMinusNatS1 -> Zero 102.80/63.20 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.20 102.80/63.20 The set Q consists of the following terms: 102.80/63.20 102.80/63.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.20 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.20 new_primMinusNatS1 102.80/63.20 new_primModNatS01(x0, x1) 102.80/63.20 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.20 new_primModNatS1(Zero, x0) 102.80/63.20 new_primMinusNatS2(Zero, Zero) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Zero) 102.80/63.20 new_primMinusNatS0(x0) 102.80/63.20 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.20 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.20 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.20 102.80/63.20 We have to consider all minimal (P,Q,R)-chains. 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (763) TransformationProof (EQUIVALENT) 102.80/63.20 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.20 102.80/63.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.80/63.20 102.80/63.20 102.80/63.20 ---------------------------------------- 102.80/63.20 102.80/63.20 (764) 102.80/63.20 Obligation: 102.80/63.20 Q DP problem: 102.80/63.20 The TRS P consists of the following rules: 102.80/63.20 102.80/63.20 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (765) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (766) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (767) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (768) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (769) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (770) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (771) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (772) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (773) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (774) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (775) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (776) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (777) DependencyGraphProof (EQUIVALENT) 102.80/63.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (778) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (779) TransformationProof (EQUIVALENT) 102.80/63.21 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (780) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (781) TransformationProof (EQUIVALENT) 102.80/63.21 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (782) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (783) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (784) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (785) DependencyGraphProof (EQUIVALENT) 102.80/63.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (786) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (787) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (788) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (789) TransformationProof (EQUIVALENT) 102.80/63.21 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(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]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(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(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (790) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (791) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (792) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (793) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (794) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (795) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (796) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (797) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (798) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (799) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (800) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (801) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (802) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (803) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (804) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (805) TransformationProof (EQUIVALENT) 102.80/63.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (806) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (807) DependencyGraphProof (EQUIVALENT) 102.80/63.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (808) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (809) TransformationProof (EQUIVALENT) 102.80/63.21 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.21 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.80/63.21 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) 102.80/63.21 102.80/63.21 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (810) 102.80/63.21 Obligation: 102.80/63.21 Q DP problem: 102.80/63.21 The TRS P consists of the following rules: 102.80/63.21 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.21 102.80/63.21 The TRS R consists of the following rules: 102.80/63.21 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.21 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.21 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.21 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.21 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.21 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.21 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.21 new_primMinusNatS1 -> Zero 102.80/63.21 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.21 102.80/63.21 The set Q consists of the following terms: 102.80/63.21 102.80/63.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.21 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.21 new_primMinusNatS1 102.80/63.21 new_primModNatS01(x0, x1) 102.80/63.21 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.21 new_primModNatS1(Zero, x0) 102.80/63.21 new_primMinusNatS2(Zero, Zero) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Zero) 102.80/63.21 new_primMinusNatS0(x0) 102.80/63.21 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.21 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.21 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.21 102.80/63.21 We have to consider all minimal (P,Q,R)-chains. 102.80/63.21 ---------------------------------------- 102.80/63.21 102.80/63.21 (811) TransformationProof (EQUIVALENT) 102.80/63.22 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (812) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (813) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (814) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (815) DependencyGraphProof (EQUIVALENT) 102.80/63.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (816) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (817) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (818) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (819) TransformationProof (EQUIVALENT) 102.80/63.22 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x1))), Neg(new_primModNatS02(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero)))) 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3)))) 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero)))) 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (820) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (821) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (822) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (823) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (824) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (825) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (826) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (827) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (828) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (829) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (830) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (831) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (832) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (833) DependencyGraphProof (EQUIVALENT) 102.80/63.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (834) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (835) TransformationProof (EQUIVALENT) 102.80/63.22 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (836) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (837) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (838) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (839) DependencyGraphProof (EQUIVALENT) 102.80/63.22 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (840) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (841) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (842) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (843) TransformationProof (EQUIVALENT) 102.80/63.22 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(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]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 102.80/63.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(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(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 102.80/63.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(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'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero))))) 102.80/63.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (844) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (845) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (846) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (847) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (848) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (849) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (850) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (851) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (852) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (853) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.22 102.80/63.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 102.80/63.22 102.80/63.22 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (854) 102.80/63.22 Obligation: 102.80/63.22 Q DP problem: 102.80/63.22 The TRS P consists of the following rules: 102.80/63.22 102.80/63.22 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.80/63.22 102.80/63.22 The TRS R consists of the following rules: 102.80/63.22 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.22 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.22 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.22 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.22 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.22 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.22 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.22 new_primMinusNatS1 -> Zero 102.80/63.22 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.22 102.80/63.22 The set Q consists of the following terms: 102.80/63.22 102.80/63.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.22 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.22 new_primMinusNatS1 102.80/63.22 new_primModNatS01(x0, x1) 102.80/63.22 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.22 new_primModNatS1(Zero, x0) 102.80/63.22 new_primMinusNatS2(Zero, Zero) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Zero) 102.80/63.22 new_primMinusNatS0(x0) 102.80/63.22 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.22 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.22 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.22 102.80/63.22 We have to consider all minimal (P,Q,R)-chains. 102.80/63.22 ---------------------------------------- 102.80/63.22 102.80/63.22 (855) TransformationProof (EQUIVALENT) 102.80/63.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (856) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (857) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (858) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (859) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (860) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (861) DependencyGraphProof (EQUIVALENT) 102.80/63.23 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (862) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (863) TransformationProof (EQUIVALENT) 102.80/63.23 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.80/63.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero)))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (864) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (865) TransformationProof (EQUIVALENT) 102.80/63.23 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (866) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (867) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (868) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (869) DependencyGraphProof (EQUIVALENT) 102.80/63.23 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (870) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (871) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (872) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS02(Succ(x2), Succ(x3), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (873) TransformationProof (EQUIVALENT) 102.80/63.23 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'(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]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero))))) 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(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(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero))))) 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (874) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (875) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (876) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (877) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (878) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (879) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (880) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (881) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (882) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (883) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (884) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (885) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (886) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (887) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (888) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (889) TransformationProof (EQUIVALENT) 102.80/63.23 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (890) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (891) DependencyGraphProof (EQUIVALENT) 102.80/63.23 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (892) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (893) TransformationProof (EQUIVALENT) 102.80/63.23 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero)))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (894) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.23 new_primModNatS1(Zero, x0) 102.80/63.23 new_primMinusNatS2(Zero, Zero) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) 102.80/63.23 new_primMinusNatS0(x0) 102.80/63.23 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.23 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.23 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.23 102.80/63.23 We have to consider all minimal (P,Q,R)-chains. 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (895) TransformationProof (EQUIVALENT) 102.80/63.23 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 102.80/63.23 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 102.80/63.23 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 102.80/63.23 102.80/63.23 102.80/63.23 ---------------------------------------- 102.80/63.23 102.80/63.23 (896) 102.80/63.23 Obligation: 102.80/63.23 Q DP problem: 102.80/63.23 The TRS P consists of the following rules: 102.80/63.23 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 102.80/63.23 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.23 102.80/63.23 The TRS R consists of the following rules: 102.80/63.23 102.80/63.23 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.23 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.23 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.23 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.23 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.23 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.23 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.23 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.23 new_primMinusNatS1 -> Zero 102.80/63.23 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.23 102.80/63.23 The set Q consists of the following terms: 102.80/63.23 102.80/63.23 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.23 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.23 new_primMinusNatS1 102.80/63.23 new_primModNatS01(x0, x1) 102.80/63.23 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.24 new_primModNatS1(Zero, x0) 102.80/63.24 new_primMinusNatS2(Zero, Zero) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) 102.80/63.24 new_primMinusNatS0(x0) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.24 102.80/63.24 We have to consider all minimal (P,Q,R)-chains. 102.80/63.24 ---------------------------------------- 102.80/63.24 102.80/63.24 (897) TransformationProof (EQUIVALENT) 102.80/63.24 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.24 102.80/63.24 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 102.80/63.24 102.80/63.24 102.80/63.24 ---------------------------------------- 102.80/63.24 102.80/63.24 (898) 102.80/63.24 Obligation: 102.80/63.24 Q DP problem: 102.80/63.24 The TRS P consists of the following rules: 102.80/63.24 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 102.80/63.24 102.80/63.24 The TRS R consists of the following rules: 102.80/63.24 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.24 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.24 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.24 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.24 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.24 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.24 new_primMinusNatS1 -> Zero 102.80/63.24 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.24 102.80/63.24 The set Q consists of the following terms: 102.80/63.24 102.80/63.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.24 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.24 new_primMinusNatS1 102.80/63.24 new_primModNatS01(x0, x1) 102.80/63.24 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.24 new_primModNatS1(Zero, x0) 102.80/63.24 new_primMinusNatS2(Zero, Zero) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) 102.80/63.24 new_primMinusNatS0(x0) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.24 102.80/63.24 We have to consider all minimal (P,Q,R)-chains. 102.80/63.24 ---------------------------------------- 102.80/63.24 102.80/63.24 (899) DependencyGraphProof (EQUIVALENT) 102.80/63.24 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 102.80/63.24 ---------------------------------------- 102.80/63.24 102.80/63.24 (900) 102.80/63.24 Obligation: 102.80/63.24 Q DP problem: 102.80/63.24 The TRS P consists of the following rules: 102.80/63.24 102.80/63.24 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 102.80/63.24 102.80/63.24 The TRS R consists of the following rules: 102.80/63.24 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.24 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.24 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.24 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.24 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.24 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.24 new_primMinusNatS1 -> Zero 102.80/63.24 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.24 102.80/63.24 The set Q consists of the following terms: 102.80/63.24 102.80/63.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.24 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.24 new_primMinusNatS1 102.80/63.24 new_primModNatS01(x0, x1) 102.80/63.24 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.24 new_primModNatS1(Zero, x0) 102.80/63.24 new_primMinusNatS2(Zero, Zero) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) 102.80/63.24 new_primMinusNatS0(x0) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.24 102.80/63.24 We have to consider all minimal (P,Q,R)-chains. 102.80/63.24 ---------------------------------------- 102.80/63.24 102.80/63.24 (901) TransformationProof (EQUIVALENT) 102.80/63.24 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 102.80/63.24 102.80/63.24 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 102.80/63.24 102.80/63.24 102.80/63.24 ---------------------------------------- 102.80/63.24 102.80/63.24 (902) 102.80/63.24 Obligation: 102.80/63.24 Q DP problem: 102.80/63.24 The TRS P consists of the following rules: 102.80/63.24 102.80/63.24 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 102.80/63.24 The TRS R consists of the following rules: 102.80/63.24 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.24 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.24 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.24 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.24 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.24 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.24 new_primMinusNatS1 -> Zero 102.80/63.24 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.24 102.80/63.24 The set Q consists of the following terms: 102.80/63.24 102.80/63.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.24 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.24 new_primMinusNatS1 102.80/63.24 new_primModNatS01(x0, x1) 102.80/63.24 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.24 new_primModNatS1(Zero, x0) 102.80/63.24 new_primMinusNatS2(Zero, Zero) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) 102.80/63.24 new_primMinusNatS0(x0) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.24 102.80/63.24 We have to consider all minimal (P,Q,R)-chains. 102.80/63.24 ---------------------------------------- 102.80/63.24 102.80/63.24 (903) QDPOrderProof (EQUIVALENT) 102.80/63.24 We use the reduction pair processor [LPAR04,JAR06]. 102.80/63.24 102.80/63.24 102.80/63.24 The following pairs can be oriented strictly and are deleted. 102.80/63.24 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 The remaining pairs can at least be oriented weakly. 102.80/63.24 Used ordering: Polynomial interpretation [POLO]: 102.80/63.24 102.80/63.24 POL(False) = 0 102.80/63.24 POL(Neg(x_1)) = x_1 102.80/63.24 POL(Pos(x_1)) = 1 102.80/63.24 POL(Succ(x_1)) = 1 102.80/63.24 POL(Zero) = 0 102.80/63.24 POL(new_gcd0Gcd'(x_1, x_2)) = x_2 102.80/63.24 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_3 102.80/63.24 POL(new_primMinusNatS0(x_1)) = 1 + x_1 102.80/63.24 POL(new_primMinusNatS1) = 1 102.80/63.24 POL(new_primMinusNatS2(x_1, x_2)) = 0 102.80/63.24 POL(new_primModNatS01(x_1, x_2)) = 1 102.80/63.24 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 102.80/63.24 POL(new_primModNatS1(x_1, x_2)) = x_2 102.80/63.24 102.80/63.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 102.80/63.24 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.24 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.24 102.80/63.24 102.80/63.24 ---------------------------------------- 102.80/63.24 102.80/63.24 (904) 102.80/63.24 Obligation: 102.80/63.24 Q DP problem: 102.80/63.24 The TRS P consists of the following rules: 102.80/63.24 102.80/63.24 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.80/63.24 102.80/63.24 The TRS R consists of the following rules: 102.80/63.24 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.80/63.24 new_primModNatS1(Zero, vuz15500) -> Zero 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.80/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.80/63.24 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.80/63.24 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.80/63.24 new_primMinusNatS2(Zero, Zero) -> Zero 102.80/63.24 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.80/63.24 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.80/63.24 new_primMinusNatS1 -> Zero 102.80/63.24 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.80/63.24 102.80/63.24 The set Q consists of the following terms: 102.80/63.24 102.80/63.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.80/63.24 new_primMinusNatS2(Zero, Succ(x0)) 102.80/63.24 new_primMinusNatS1 102.80/63.24 new_primModNatS01(x0, x1) 102.80/63.24 new_primMinusNatS2(Succ(x0), Zero) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Zero) 102.80/63.24 new_primModNatS1(Zero, x0) 102.80/63.24 new_primMinusNatS2(Zero, Zero) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Zero) 102.80/63.24 new_primMinusNatS0(x0) 102.80/63.24 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.80/63.24 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.80/63.24 new_primModNatS1(Succ(Zero), Succ(x0)) 102.80/63.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.80/63.24 102.80/63.24 We have to consider all minimal (P,Q,R)-chains. 102.80/63.24 ---------------------------------------- 102.80/63.24 102.80/63.24 (905) QDPOrderProof (EQUIVALENT) 102.80/63.24 We use the reduction pair processor [LPAR04,JAR06]. 102.80/63.24 102.80/63.24 102.80/63.24 The following pairs can be oriented strictly and are deleted. 102.80/63.24 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 102.80/63.24 The remaining pairs can at least be oriented weakly. 102.80/63.24 Used ordering: Polynomial interpretation [POLO]: 102.80/63.24 102.80/63.24 POL(False) = 1 102.80/63.24 POL(Neg(x_1)) = 1 + x_1 102.80/63.24 POL(Pos(x_1)) = 1 + x_1 102.80/63.24 POL(Succ(x_1)) = 1 102.80/63.24 POL(Zero) = 0 102.80/63.24 POL(new_gcd0Gcd'(x_1, x_2)) = x_2 102.80/63.24 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 1 + x_1 102.80/63.24 POL(new_primMinusNatS0(x_1)) = 1 + x_1 102.80/63.24 POL(new_primMinusNatS1) = 1 102.80/63.24 POL(new_primMinusNatS2(x_1, x_2)) = 0 102.80/63.24 POL(new_primModNatS01(x_1, x_2)) = 1 102.84/63.24 POL(new_primModNatS02(x_1, x_2, x_3, x_4)) = 1 102.84/63.24 POL(new_primModNatS1(x_1, x_2)) = x_2 102.84/63.24 102.84/63.24 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 102.84/63.24 102.84/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.84/63.24 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.84/63.24 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.84/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.84/63.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.84/63.24 new_primModNatS1(Zero, vuz15500) -> Zero 102.84/63.24 102.84/63.24 102.84/63.24 ---------------------------------------- 102.84/63.24 102.84/63.24 (906) 102.84/63.24 Obligation: 102.84/63.24 Q DP problem: 102.84/63.24 The TRS P consists of the following rules: 102.84/63.24 102.84/63.24 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.24 102.84/63.24 The TRS R consists of the following rules: 102.84/63.24 102.84/63.24 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.84/63.24 new_primModNatS1(Zero, vuz15500) -> Zero 102.84/63.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.84/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.84/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.84/63.24 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.84/63.24 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.84/63.24 new_primMinusNatS2(Zero, Zero) -> Zero 102.84/63.24 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.84/63.24 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.84/63.24 new_primMinusNatS1 -> Zero 102.84/63.24 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.84/63.24 102.84/63.24 The set Q consists of the following terms: 102.84/63.24 102.84/63.24 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.84/63.24 new_primMinusNatS2(Zero, Succ(x0)) 102.84/63.24 new_primMinusNatS1 102.84/63.24 new_primModNatS01(x0, x1) 102.84/63.24 new_primMinusNatS2(Succ(x0), Zero) 102.84/63.24 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.84/63.24 new_primModNatS1(Succ(Succ(x0)), Zero) 102.84/63.24 new_primModNatS1(Zero, x0) 102.84/63.24 new_primMinusNatS2(Zero, Zero) 102.84/63.24 new_primModNatS02(x0, x1, Zero, Zero) 102.84/63.24 new_primModNatS1(Succ(Zero), Zero) 102.84/63.24 new_primMinusNatS0(x0) 102.84/63.24 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.84/63.24 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.84/63.24 new_primModNatS1(Succ(Zero), Succ(x0)) 102.84/63.24 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.84/63.24 102.84/63.24 We have to consider all minimal (P,Q,R)-chains. 102.84/63.24 ---------------------------------------- 102.84/63.24 102.84/63.24 (907) MNOCProof (EQUIVALENT) 102.84/63.24 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 102.84/63.24 ---------------------------------------- 102.84/63.24 102.84/63.24 (908) 102.84/63.24 Obligation: 102.84/63.24 Q DP problem: 102.84/63.24 The TRS P consists of the following rules: 102.84/63.24 102.84/63.24 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.84/63.24 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.24 102.84/63.24 The TRS R consists of the following rules: 102.84/63.24 102.84/63.24 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.84/63.24 new_primModNatS1(Zero, vuz15500) -> Zero 102.84/63.24 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.84/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.84/63.24 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.84/63.24 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.84/63.24 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.84/63.24 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.84/63.24 new_primMinusNatS2(Zero, Zero) -> Zero 102.84/63.24 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.84/63.24 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.84/63.24 new_primMinusNatS1 -> Zero 102.84/63.24 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.84/63.24 102.84/63.24 Q is empty. 102.84/63.24 We have to consider all (P,Q,R)-chains. 102.84/63.24 ---------------------------------------- 102.84/63.24 102.84/63.24 (909) InductionCalculusProof (EQUIVALENT) 102.84/63.24 Note that final constraints are written in bold face. 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'(x2, Pos(Succ(x3))) -> new_gcd0Gcd'1(False, x2, Pos(Succ(x3))), new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x4)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x4))), Pos(Succ(Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))=new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x4)))) ==> new_gcd0Gcd'(x2, Pos(Succ(x3)))_>=_new_gcd0Gcd'1(False, x2, Pos(Succ(x3)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x4))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x4))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x5, Pos(Succ(x6))) -> new_gcd0Gcd'1(False, x5, Pos(Succ(x6))), new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x7)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x7))), Neg(Succ(Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x5, Pos(Succ(x6)))=new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x7)))) ==> new_gcd0Gcd'(x5, Pos(Succ(x6)))_>=_new_gcd0Gcd'1(False, x5, Pos(Succ(x6)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x7))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x7))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x38, Pos(Succ(x39))) -> new_gcd0Gcd'1(False, x38, Pos(Succ(x39))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x40)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x38, Pos(Succ(x39)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40))))) ==> new_gcd0Gcd'(x38, Pos(Succ(x39)))_>=_new_gcd0Gcd'1(False, x38, Pos(Succ(x39)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x41, Pos(Succ(x42))) -> new_gcd0Gcd'1(False, x41, Pos(Succ(x42))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x43)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x41, Pos(Succ(x42)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43))))) ==> new_gcd0Gcd'(x41, Pos(Succ(x42)))_>=_new_gcd0Gcd'1(False, x41, Pos(Succ(x42)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x44, Pos(Succ(x45))) -> new_gcd0Gcd'1(False, x44, Pos(Succ(x45))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x47))))), Pos(new_primModNatS02(Succ(Succ(x46)), Succ(Succ(x47)), x46, x47))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x44, Pos(Succ(x45)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47)))))) ==> new_gcd0Gcd'(x44, Pos(Succ(x45)))_>=_new_gcd0Gcd'1(False, x44, Pos(Succ(x45)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47))))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x48, Pos(Succ(x49))) -> new_gcd0Gcd'1(False, x48, Pos(Succ(x49))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x50))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x48, Pos(Succ(x49)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50)))))) ==> new_gcd0Gcd'(x48, Pos(Succ(x49)))_>=_new_gcd0Gcd'1(False, x48, Pos(Succ(x49)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50))))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x51, Pos(Succ(x52))) -> new_gcd0Gcd'1(False, x51, Pos(Succ(x52))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x53), Succ(Succ(Zero))))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x51, Pos(Succ(x52)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'(x51, Pos(Succ(x52)))_>=_new_gcd0Gcd'1(False, x51, Pos(Succ(x52)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x54, Pos(Succ(x55))) -> new_gcd0Gcd'1(False, x54, Pos(Succ(x55))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x54, Pos(Succ(x55)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x54, Pos(Succ(x55)))_>=_new_gcd0Gcd'1(False, x54, Pos(Succ(x55)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x56, Pos(Succ(x57))) -> new_gcd0Gcd'1(False, x56, Pos(Succ(x57))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x58, Zero, x58, Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x56, Pos(Succ(x57)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x56, Pos(Succ(x57)))_>=_new_gcd0Gcd'1(False, x56, Pos(Succ(x57)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x59, Pos(Succ(x60))) -> new_gcd0Gcd'1(False, x59, Pos(Succ(x60))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x62))))), Neg(new_primModNatS02(Succ(Succ(x61)), Succ(Succ(x62)), x61, x62))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x59, Pos(Succ(x60)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62)))))) ==> new_gcd0Gcd'(x59, Pos(Succ(x60)))_>=_new_gcd0Gcd'1(False, x59, Pos(Succ(x60)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62))))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x63, Pos(Succ(x64))) -> new_gcd0Gcd'1(False, x63, Pos(Succ(x64))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x65))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x63, Pos(Succ(x64)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65)))))) ==> new_gcd0Gcd'(x63, Pos(Succ(x64)))_>=_new_gcd0Gcd'1(False, x63, Pos(Succ(x64)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65))))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x66, Pos(Succ(x67))) -> new_gcd0Gcd'1(False, x66, Pos(Succ(x67))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x68), Succ(Succ(Zero))))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x66, Pos(Succ(x67)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'(x66, Pos(Succ(x67)))_>=_new_gcd0Gcd'1(False, x66, Pos(Succ(x67)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x69, Pos(Succ(x70))) -> new_gcd0Gcd'1(False, x69, Pos(Succ(x70))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x69, Pos(Succ(x70)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x69, Pos(Succ(x70)))_>=_new_gcd0Gcd'1(False, x69, Pos(Succ(x70)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x71, Pos(Succ(x72))) -> new_gcd0Gcd'1(False, x71, Pos(Succ(x72))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x73, Zero, x73, Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x71, Pos(Succ(x72)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x71, Pos(Succ(x72)))_>=_new_gcd0Gcd'1(False, x71, Pos(Succ(x72)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x74)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero))), new_gcd0Gcd'(x75, Pos(Succ(x76))) -> new_gcd0Gcd'1(False, x75, Pos(Succ(x76))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero)))=new_gcd0Gcd'(x75, Pos(Succ(x76))) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x74))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x74))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x109)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero))), new_gcd0Gcd'(x110, Neg(Succ(x111))) -> new_gcd0Gcd'1(False, x110, Neg(Succ(x111))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero)))=new_gcd0Gcd'(x110, Neg(Succ(x111))) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x109))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x109))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'(x146, Neg(Succ(x147))) -> new_gcd0Gcd'1(False, x146, Neg(Succ(x147))), new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x148)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x148))), Pos(Succ(Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x146, Neg(Succ(x147)))=new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x148)))) ==> new_gcd0Gcd'(x146, Neg(Succ(x147)))_>=_new_gcd0Gcd'1(False, x146, Neg(Succ(x147)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x148))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x148))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x149, Neg(Succ(x150))) -> new_gcd0Gcd'1(False, x149, Neg(Succ(x150))), new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x151)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x151))), Neg(Succ(Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x149, Neg(Succ(x150)))=new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x151)))) ==> new_gcd0Gcd'(x149, Neg(Succ(x150)))_>=_new_gcd0Gcd'1(False, x149, Neg(Succ(x150)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x151))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x151))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x152, Neg(Succ(x153))) -> new_gcd0Gcd'1(False, x152, Neg(Succ(x153))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x154)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x152, Neg(Succ(x153)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154))))) ==> new_gcd0Gcd'(x152, Neg(Succ(x153)))_>=_new_gcd0Gcd'1(False, x152, Neg(Succ(x153)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x155, Neg(Succ(x156))) -> new_gcd0Gcd'1(False, x155, Neg(Succ(x156))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x157)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x155, Neg(Succ(x156)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157))))) ==> new_gcd0Gcd'(x155, Neg(Succ(x156)))_>=_new_gcd0Gcd'1(False, x155, Neg(Succ(x156)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x158, Neg(Succ(x159))) -> new_gcd0Gcd'1(False, x158, Neg(Succ(x159))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x161))))), Pos(new_primModNatS02(Succ(Succ(x160)), Succ(Succ(x161)), x160, x161))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x158, Neg(Succ(x159)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161)))))) ==> new_gcd0Gcd'(x158, Neg(Succ(x159)))_>=_new_gcd0Gcd'1(False, x158, Neg(Succ(x159)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161))))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x162, Neg(Succ(x163))) -> new_gcd0Gcd'1(False, x162, Neg(Succ(x163))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x164))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x162, Neg(Succ(x163)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164)))))) ==> new_gcd0Gcd'(x162, Neg(Succ(x163)))_>=_new_gcd0Gcd'1(False, x162, Neg(Succ(x163)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164))))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x165, Neg(Succ(x166))) -> new_gcd0Gcd'1(False, x165, Neg(Succ(x166))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x167), Succ(Succ(Zero))))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x165, Neg(Succ(x166)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'(x165, Neg(Succ(x166)))_>=_new_gcd0Gcd'1(False, x165, Neg(Succ(x166)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x168, Neg(Succ(x169))) -> new_gcd0Gcd'1(False, x168, Neg(Succ(x169))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x168, Neg(Succ(x169)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x168, Neg(Succ(x169)))_>=_new_gcd0Gcd'1(False, x168, Neg(Succ(x169)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x170, Neg(Succ(x171))) -> new_gcd0Gcd'1(False, x170, Neg(Succ(x171))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x172, Zero, x172, Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x170, Neg(Succ(x171)))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x170, Neg(Succ(x171)))_>=_new_gcd0Gcd'1(False, x170, Neg(Succ(x171)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x173, Neg(Succ(x174))) -> new_gcd0Gcd'1(False, x173, Neg(Succ(x174))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x176))))), Neg(new_primModNatS02(Succ(Succ(x175)), Succ(Succ(x176)), x175, x176))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x173, Neg(Succ(x174)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176)))))) ==> new_gcd0Gcd'(x173, Neg(Succ(x174)))_>=_new_gcd0Gcd'1(False, x173, Neg(Succ(x174)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176))))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x177, Neg(Succ(x178))) -> new_gcd0Gcd'1(False, x177, Neg(Succ(x178))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x179))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x177, Neg(Succ(x178)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179)))))) ==> new_gcd0Gcd'(x177, Neg(Succ(x178)))_>=_new_gcd0Gcd'1(False, x177, Neg(Succ(x178)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179))))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x180, Neg(Succ(x181))) -> new_gcd0Gcd'1(False, x180, Neg(Succ(x181))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x182), Succ(Succ(Zero))))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x180, Neg(Succ(x181)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'(x180, Neg(Succ(x181)))_>=_new_gcd0Gcd'1(False, x180, Neg(Succ(x181)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x183, Neg(Succ(x184))) -> new_gcd0Gcd'1(False, x183, Neg(Succ(x184))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x183, Neg(Succ(x184)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x183, Neg(Succ(x184)))_>=_new_gcd0Gcd'1(False, x183, Neg(Succ(x184)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 *We consider the chain new_gcd0Gcd'(x185, Neg(Succ(x186))) -> new_gcd0Gcd'1(False, x185, Neg(Succ(x186))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x187, Zero, x187, Zero))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'1(False, x185, Neg(Succ(x186)))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'(x185, Neg(Succ(x186)))_>=_new_gcd0Gcd'1(False, x185, Neg(Succ(x186)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x212)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero))), new_gcd0Gcd'(x213, Pos(Succ(x214))) -> new_gcd0Gcd'1(False, x213, Pos(Succ(x214))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero)))=new_gcd0Gcd'(x213, Pos(Succ(x214))) ==> new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x212))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x212))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x247)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero))), new_gcd0Gcd'(x248, Neg(Succ(x249))) -> new_gcd0Gcd'1(False, x248, Neg(Succ(x249))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero)))=new_gcd0Gcd'(x248, Neg(Succ(x249))) ==> new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x247))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x247))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x276))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'(x277, Pos(Succ(x278))) -> new_gcd0Gcd'1(False, x277, Pos(Succ(x278))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'(x277, Pos(Succ(x278))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x276)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x276)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x311))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'(x312, Neg(Succ(x313))) -> new_gcd0Gcd'1(False, x312, Neg(Succ(x313))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'(x312, Neg(Succ(x313))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x311)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x311)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x340))))), Neg(Succ(Succ(Succ(Succ(x341)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x341))))), Pos(new_primModNatS02(Succ(Succ(x340)), Succ(Succ(x341)), x340, x341))), new_gcd0Gcd'(x342, Pos(Succ(x343))) -> new_gcd0Gcd'1(False, x342, Pos(Succ(x343))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x341))))), Pos(new_primModNatS02(Succ(Succ(x340)), Succ(Succ(x341)), x340, x341)))=new_gcd0Gcd'(x342, Pos(Succ(x343))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x340))))), Neg(Succ(Succ(Succ(Succ(x341))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x341))))), Pos(new_primModNatS02(Succ(Succ(x340)), Succ(Succ(x341)), x340, x341)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (Succ(Succ(x340))=x1044 & Succ(Succ(x341))=x1045 & new_primModNatS02(x1044, x1045, x340, x341)=Succ(x343) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x340))))), Neg(Succ(Succ(Succ(Succ(x341))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x341))))), Pos(new_primModNatS02(Succ(Succ(x340)), Succ(Succ(x341)), x340, x341)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1044, x1045, x340, x341)=Succ(x343) which results in the following new constraints: 102.84/63.24 102.84/63.24 (3) (new_primModNatS01(x1048, x1047)=Succ(x343) & Succ(Succ(Succ(x1046)))=x1048 & Succ(Succ(Zero))=x1047 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1046)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1046))), Succ(Succ(Zero)), Succ(x1046), Zero)))) 102.84/63.24 102.84/63.24 (4) (new_primModNatS02(x1052, x1051, x1050, x1049)=Succ(x343) & Succ(Succ(Succ(x1050)))=x1052 & Succ(Succ(Succ(x1049)))=x1051 & (\/x1053:new_primModNatS02(x1052, x1051, x1050, x1049)=Succ(x1053) & Succ(Succ(x1050))=x1052 & Succ(Succ(x1049))=x1051 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1050))))), Neg(Succ(Succ(Succ(Succ(x1049))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1049))))), Pos(new_primModNatS02(Succ(Succ(x1050)), Succ(Succ(x1049)), x1050, x1049)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1050)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1049)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1049)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1050))), Succ(Succ(Succ(x1049))), Succ(x1050), Succ(x1049))))) 102.84/63.24 102.84/63.24 (5) (new_primModNatS01(x1055, x1054)=Succ(x343) & Succ(Succ(Zero))=x1055 & Succ(Succ(Zero))=x1054 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.24 102.84/63.24 (6) (Succ(Succ(x1058))=Succ(x343) & Succ(Succ(Zero))=x1058 & Succ(Succ(Succ(x1056)))=x1057 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1056))), Zero, Succ(x1056))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1048, x1047)=Succ(x343) which results in the following new constraint: 102.84/63.24 102.84/63.24 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1060), Succ(x1059)), Succ(x1059))=Succ(x343) & Succ(Succ(Succ(x1046)))=x1060 & Succ(Succ(Zero))=x1059 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1046)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1046))), Succ(Succ(Zero)), Succ(x1046), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (4) using rule (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (8) (new_primModNatS02(x1052, x1051, x1050, x1049)=Succ(x343) & Succ(Succ(Succ(x1050)))=x1052 & Succ(Succ(Succ(x1049)))=x1051 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1050)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1049)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1049)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1050))), Succ(Succ(Succ(x1049))), Succ(x1050), Succ(x1049))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1055, x1054)=Succ(x343) which results in the following new constraint: 102.84/63.24 102.84/63.24 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1079), Succ(x1078)), Succ(x1078))=Succ(x343) & Succ(Succ(Zero))=x1079 & Succ(Succ(Zero))=x1078 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1056))), Zero, Succ(x1056))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1046)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1046))), Succ(Succ(Zero)), Succ(x1046), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1052, x1051, x1050, x1049)=Succ(x343) which results in the following new constraints: 102.84/63.24 102.84/63.24 (12) (new_primModNatS01(x1067, x1066)=Succ(x343) & Succ(Succ(Succ(Succ(x1065))))=x1067 & Succ(Succ(Succ(Zero)))=x1066 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1065))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1065)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1065)), Succ(Zero))))) 102.84/63.24 102.84/63.24 (13) (new_primModNatS02(x1071, x1070, x1069, x1068)=Succ(x343) & Succ(Succ(Succ(Succ(x1069))))=x1071 & Succ(Succ(Succ(Succ(x1068))))=x1070 & (\/x1072:new_primModNatS02(x1071, x1070, x1069, x1068)=Succ(x1072) & Succ(Succ(Succ(x1069)))=x1071 & Succ(Succ(Succ(x1068)))=x1070 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1069)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1068)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1068)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1069))), Succ(Succ(Succ(x1068))), Succ(x1069), Succ(x1068))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1069))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1069)))), Succ(Succ(Succ(Succ(x1068)))), Succ(Succ(x1069)), Succ(Succ(x1068)))))) 102.84/63.24 102.84/63.24 (14) (new_primModNatS01(x1074, x1073)=Succ(x343) & Succ(Succ(Succ(Zero)))=x1074 & Succ(Succ(Succ(Zero)))=x1073 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.24 102.84/63.24 (15) (Succ(Succ(x1077))=Succ(x343) & Succ(Succ(Succ(Zero)))=x1077 & Succ(Succ(Succ(Succ(x1075))))=x1076 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1075)))), Succ(Zero), Succ(Succ(x1075)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1065))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1065)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1065)), Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1069))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1069)))), Succ(Succ(Succ(Succ(x1068)))), Succ(Succ(x1069)), Succ(Succ(x1068)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1075)))), Succ(Zero), Succ(Succ(x1075)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x402)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x403, Pos(Succ(x404))) -> new_gcd0Gcd'1(False, x403, Pos(Succ(x404))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x403, Pos(Succ(x404))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x402))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x402))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero))))), new_gcd0Gcd'(x435, Pos(Succ(x436))) -> new_gcd0Gcd'1(False, x435, Pos(Succ(x436))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))=new_gcd0Gcd'(x435, Pos(Succ(x436))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (Succ(x434)=x1084 & Succ(Succ(Zero))=x1085 & new_primModNatS1(x1084, x1085)=Succ(x436) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1084, x1085)=Succ(x436) which results in the following new constraints: 102.84/63.24 102.84/63.24 (3) (Succ(Zero)=Succ(x436) & Succ(x434)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1086) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x436) & Succ(x434)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (5) (new_primModNatS1(new_primMinusNatS0(x1088), Zero)=Succ(x436) & Succ(x434)=Succ(Succ(x1088)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (6) (new_primModNatS02(x1090, x1089, x1090, x1089)=Succ(x436) & Succ(x434)=Succ(Succ(x1090)) & Succ(Succ(Zero))=Succ(x1089) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x434))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x434), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (7) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (8) (x1090=x1091 & x1089=x1092 & new_primModNatS02(x1090, x1089, x1091, x1092)=Succ(x436) & Succ(Zero)=x1089 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1090)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1090)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1090, x1089, x1091, x1092)=Succ(x436) which results in the following new constraints: 102.84/63.24 102.84/63.24 (9) (new_primModNatS01(x1095, x1094)=Succ(x436) & x1095=Succ(x1093) & x1094=Zero & Succ(Zero)=x1094 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1095)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1095)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (10) (new_primModNatS02(x1099, x1098, x1097, x1096)=Succ(x436) & x1099=Succ(x1097) & x1098=Succ(x1096) & Succ(Zero)=x1098 & (\/x1100:new_primModNatS02(x1099, x1098, x1097, x1096)=Succ(x1100) & x1099=x1097 & x1098=x1096 & Succ(Zero)=x1098 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1099)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1099)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1099)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1099)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (11) (new_primModNatS01(x1102, x1101)=Succ(x436) & x1102=Zero & x1101=Zero & Succ(Zero)=x1101 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1102)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1102)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (12) (Succ(Succ(x1105))=Succ(x436) & x1105=Zero & x1104=Succ(x1103) & Succ(Zero)=x1104 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1105)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1105)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 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: 102.84/63.24 102.84/63.24 (13) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1097))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1097))), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 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: 102.84/63.24 102.84/63.24 (14) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), new_gcd0Gcd'(x466, Pos(Succ(x467))) -> new_gcd0Gcd'1(False, x466, Pos(Succ(x467))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_gcd0Gcd'(x466, Pos(Succ(x467))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x468))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x468, Zero, x468, Zero))), new_gcd0Gcd'(x469, Pos(Succ(x470))) -> new_gcd0Gcd'1(False, x469, Pos(Succ(x470))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x468, Zero, x468, Zero)))=new_gcd0Gcd'(x469, Pos(Succ(x470))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x468))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x468, Zero, x468, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (Zero=x1108 & x468=x1109 & Zero=x1110 & new_primModNatS02(x468, x1108, x1109, x1110)=Succ(x470) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x468))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x468, Zero, x468, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x468, x1108, x1109, x1110)=Succ(x470) which results in the following new constraints: 102.84/63.24 102.84/63.24 (3) (new_primModNatS01(x1113, x1112)=Succ(x470) & Zero=x1112 & x1113=Succ(x1111) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1113))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1113, Zero, x1113, Zero)))) 102.84/63.24 102.84/63.24 (4) (new_primModNatS02(x1117, x1116, x1115, x1114)=Succ(x470) & Zero=x1116 & x1117=Succ(x1115) & Zero=Succ(x1114) & (\/x1118:new_primModNatS02(x1117, x1116, x1115, x1114)=Succ(x1118) & Zero=x1116 & x1117=x1115 & Zero=x1114 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1117))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1117, Zero, x1117, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1117))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1117, Zero, x1117, Zero)))) 102.84/63.24 102.84/63.24 (5) (new_primModNatS01(x1120, x1119)=Succ(x470) & Zero=x1119 & x1120=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1120))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1120, Zero, x1120, Zero)))) 102.84/63.24 102.84/63.24 (6) (Succ(Succ(x1123))=Succ(x470) & Zero=x1122 & x1123=Zero & Zero=Succ(x1121) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1123))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x1123, Zero, x1123, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (7) (Succ(x1111)=x1124 & new_primModNatS01(x1124, x1112)=Succ(x470) & Zero=x1112 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1111)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1111), Zero, Succ(x1111), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 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: 102.84/63.24 102.84/63.24 (8) (Zero=x1131 & new_primModNatS01(x1131, x1119)=Succ(x470) & Zero=x1119 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1124, x1112)=Succ(x470) which results in the following new constraint: 102.84/63.24 102.84/63.24 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1126), Succ(x1125)), Succ(x1125))=Succ(x470) & Succ(x1111)=x1126 & Zero=x1125 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1111)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1111), Zero, Succ(x1111), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1111)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1111), Zero, Succ(x1111), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1131, x1119)=Succ(x470) which results in the following new constraint: 102.84/63.24 102.84/63.24 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x1133), Succ(x1132)), Succ(x1132))=Succ(x470) & Zero=x1133 & Zero=x1132 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x506))))), Neg(Succ(Succ(Succ(Succ(x507)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x507))))), Neg(new_primModNatS02(Succ(Succ(x506)), Succ(Succ(x507)), x506, x507))), new_gcd0Gcd'(x508, Neg(Succ(x509))) -> new_gcd0Gcd'1(False, x508, Neg(Succ(x509))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x507))))), Neg(new_primModNatS02(Succ(Succ(x506)), Succ(Succ(x507)), x506, x507)))=new_gcd0Gcd'(x508, Neg(Succ(x509))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x506))))), Neg(Succ(Succ(Succ(Succ(x507))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x507))))), Neg(new_primModNatS02(Succ(Succ(x506)), Succ(Succ(x507)), x506, x507)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (Succ(Succ(x506))=x1138 & Succ(Succ(x507))=x1139 & new_primModNatS02(x1138, x1139, x506, x507)=Succ(x509) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x506))))), Neg(Succ(Succ(Succ(Succ(x507))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x507))))), Neg(new_primModNatS02(Succ(Succ(x506)), Succ(Succ(x507)), x506, x507)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1138, x1139, x506, x507)=Succ(x509) which results in the following new constraints: 102.84/63.24 102.84/63.24 (3) (new_primModNatS01(x1142, x1141)=Succ(x509) & Succ(Succ(Succ(x1140)))=x1142 & Succ(Succ(Zero))=x1141 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1140)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1140))), Succ(Succ(Zero)), Succ(x1140), Zero)))) 102.84/63.24 102.84/63.24 (4) (new_primModNatS02(x1146, x1145, x1144, x1143)=Succ(x509) & Succ(Succ(Succ(x1144)))=x1146 & Succ(Succ(Succ(x1143)))=x1145 & (\/x1147:new_primModNatS02(x1146, x1145, x1144, x1143)=Succ(x1147) & Succ(Succ(x1144))=x1146 & Succ(Succ(x1143))=x1145 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1144))))), Neg(Succ(Succ(Succ(Succ(x1143))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x1143))))), Neg(new_primModNatS02(Succ(Succ(x1144)), Succ(Succ(x1143)), x1144, x1143)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1144)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1143)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1143)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1144))), Succ(Succ(Succ(x1143))), Succ(x1144), Succ(x1143))))) 102.84/63.24 102.84/63.24 (5) (new_primModNatS01(x1149, x1148)=Succ(x509) & Succ(Succ(Zero))=x1149 & Succ(Succ(Zero))=x1148 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.24 102.84/63.24 (6) (Succ(Succ(x1152))=Succ(x509) & Succ(Succ(Zero))=x1152 & Succ(Succ(Succ(x1150)))=x1151 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1150))), Zero, Succ(x1150))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1142, x1141)=Succ(x509) which results in the following new constraint: 102.84/63.24 102.84/63.24 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1154), Succ(x1153)), Succ(x1153))=Succ(x509) & Succ(Succ(Succ(x1140)))=x1154 & Succ(Succ(Zero))=x1153 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1140)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1140))), Succ(Succ(Zero)), Succ(x1140), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (4) using rule (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (8) (new_primModNatS02(x1146, x1145, x1144, x1143)=Succ(x509) & Succ(Succ(Succ(x1144)))=x1146 & Succ(Succ(Succ(x1143)))=x1145 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1144)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1143)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1143)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1144))), Succ(Succ(Succ(x1143))), Succ(x1144), Succ(x1143))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1149, x1148)=Succ(x509) which results in the following new constraint: 102.84/63.24 102.84/63.24 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1173), Succ(x1172)), Succ(x1172))=Succ(x509) & Succ(Succ(Zero))=x1173 & Succ(Succ(Zero))=x1172 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1150))), Zero, Succ(x1150))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1140)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1140))), Succ(Succ(Zero)), Succ(x1140), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1146, x1145, x1144, x1143)=Succ(x509) which results in the following new constraints: 102.84/63.24 102.84/63.24 (12) (new_primModNatS01(x1161, x1160)=Succ(x509) & Succ(Succ(Succ(Succ(x1159))))=x1161 & Succ(Succ(Succ(Zero)))=x1160 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1159))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1159)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1159)), Succ(Zero))))) 102.84/63.24 102.84/63.24 (13) (new_primModNatS02(x1165, x1164, x1163, x1162)=Succ(x509) & Succ(Succ(Succ(Succ(x1163))))=x1165 & Succ(Succ(Succ(Succ(x1162))))=x1164 & (\/x1166:new_primModNatS02(x1165, x1164, x1163, x1162)=Succ(x1166) & Succ(Succ(Succ(x1163)))=x1165 & Succ(Succ(Succ(x1162)))=x1164 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1163)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1162)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1162)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1163))), Succ(Succ(Succ(x1162))), Succ(x1163), Succ(x1162))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1163))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1163)))), Succ(Succ(Succ(Succ(x1162)))), Succ(Succ(x1163)), Succ(Succ(x1162)))))) 102.84/63.24 102.84/63.24 (14) (new_primModNatS01(x1168, x1167)=Succ(x509) & Succ(Succ(Succ(Zero)))=x1168 & Succ(Succ(Succ(Zero)))=x1167 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.24 102.84/63.24 (15) (Succ(Succ(x1171))=Succ(x509) & Succ(Succ(Succ(Zero)))=x1171 & Succ(Succ(Succ(Succ(x1169))))=x1170 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1169)))), Succ(Zero), Succ(Succ(x1169)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1159))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1159)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1159)), Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1163))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1163)))), Succ(Succ(Succ(Succ(x1162)))), Succ(Succ(x1163)), Succ(Succ(x1162)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1169)))), Succ(Zero), Succ(Succ(x1169)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x565)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x566, Neg(Succ(x567))) -> new_gcd0Gcd'1(False, x566, Neg(Succ(x567))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x566, Neg(Succ(x567))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x565))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x565))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero))))), new_gcd0Gcd'(x598, Neg(Succ(x599))) -> new_gcd0Gcd'1(False, x598, Neg(Succ(x599))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))=new_gcd0Gcd'(x598, Neg(Succ(x599))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (Succ(x597)=x1178 & Succ(Succ(Zero))=x1179 & new_primModNatS1(x1178, x1179)=Succ(x599) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1178, x1179)=Succ(x599) which results in the following new constraints: 102.84/63.24 102.84/63.24 (3) (Succ(Zero)=Succ(x599) & Succ(x597)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1180) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x599) & Succ(x597)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (5) (new_primModNatS1(new_primMinusNatS0(x1182), Zero)=Succ(x599) & Succ(x597)=Succ(Succ(x1182)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (6) (new_primModNatS02(x1184, x1183, x1184, x1183)=Succ(x599) & Succ(x597)=Succ(Succ(x1184)) & Succ(Succ(Zero))=Succ(x1183) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x597))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x597), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (7) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (8) (x1184=x1185 & x1183=x1186 & new_primModNatS02(x1184, x1183, x1185, x1186)=Succ(x599) & Succ(Zero)=x1183 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1184)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1184)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1184, x1183, x1185, x1186)=Succ(x599) which results in the following new constraints: 102.84/63.24 102.84/63.24 (9) (new_primModNatS01(x1189, x1188)=Succ(x599) & x1189=Succ(x1187) & x1188=Zero & Succ(Zero)=x1188 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1189)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1189)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (10) (new_primModNatS02(x1193, x1192, x1191, x1190)=Succ(x599) & x1193=Succ(x1191) & x1192=Succ(x1190) & Succ(Zero)=x1192 & (\/x1194:new_primModNatS02(x1193, x1192, x1191, x1190)=Succ(x1194) & x1193=x1191 & x1192=x1190 & Succ(Zero)=x1192 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1193)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1193)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1193)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1193)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (11) (new_primModNatS01(x1196, x1195)=Succ(x599) & x1196=Zero & x1195=Zero & Succ(Zero)=x1195 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1196)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1196)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 (12) (Succ(Succ(x1199))=Succ(x599) & x1199=Zero & x1198=Succ(x1197) & Succ(Zero)=x1198 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1199)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1199)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 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: 102.84/63.24 102.84/63.24 (13) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1191))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1191))), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 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: 102.84/63.24 102.84/63.24 (14) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), new_gcd0Gcd'(x626, Neg(Succ(x627))) -> new_gcd0Gcd'1(False, x626, Neg(Succ(x627))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_gcd0Gcd'(x626, Neg(Succ(x627))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x631))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x631, Zero, x631, Zero))), new_gcd0Gcd'(x632, Neg(Succ(x633))) -> new_gcd0Gcd'1(False, x632, Neg(Succ(x633))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x631, Zero, x631, Zero)))=new_gcd0Gcd'(x632, Neg(Succ(x633))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x631))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x631, Zero, x631, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (Zero=x1202 & x631=x1203 & Zero=x1204 & new_primModNatS02(x631, x1202, x1203, x1204)=Succ(x633) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x631))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x631, Zero, x631, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x631, x1202, x1203, x1204)=Succ(x633) which results in the following new constraints: 102.84/63.24 102.84/63.24 (3) (new_primModNatS01(x1207, x1206)=Succ(x633) & Zero=x1206 & x1207=Succ(x1205) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1207))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1207, Zero, x1207, Zero)))) 102.84/63.24 102.84/63.24 (4) (new_primModNatS02(x1211, x1210, x1209, x1208)=Succ(x633) & Zero=x1210 & x1211=Succ(x1209) & Zero=Succ(x1208) & (\/x1212:new_primModNatS02(x1211, x1210, x1209, x1208)=Succ(x1212) & Zero=x1210 & x1211=x1209 & Zero=x1208 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1211))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1211, Zero, x1211, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1211))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1211, Zero, x1211, Zero)))) 102.84/63.24 102.84/63.24 (5) (new_primModNatS01(x1214, x1213)=Succ(x633) & Zero=x1213 & x1214=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1214))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1214, Zero, x1214, Zero)))) 102.84/63.24 102.84/63.24 (6) (Succ(Succ(x1217))=Succ(x633) & Zero=x1216 & x1217=Zero & Zero=Succ(x1215) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1217))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x1217, Zero, x1217, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (7) (Succ(x1205)=x1218 & new_primModNatS01(x1218, x1206)=Succ(x633) & Zero=x1206 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1205)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1205), Zero, Succ(x1205), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 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: 102.84/63.24 102.84/63.24 (8) (Zero=x1225 & new_primModNatS01(x1225, x1213)=Succ(x633) & Zero=x1213 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1218, x1206)=Succ(x633) which results in the following new constraint: 102.84/63.24 102.84/63.24 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1220), Succ(x1219)), Succ(x1219))=Succ(x633) & Succ(x1205)=x1220 & Zero=x1219 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1205)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1205), Zero, Succ(x1205), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1205)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1205), Zero, Succ(x1205), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1225, x1213)=Succ(x633) which results in the following new constraint: 102.84/63.24 102.84/63.24 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x1227), Succ(x1226)), Succ(x1226))=Succ(x633) & Zero=x1227 & Zero=x1226 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x660))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'(x661, Pos(Succ(x662))) -> new_gcd0Gcd'1(False, x661, Pos(Succ(x662))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'(x661, Pos(Succ(x662))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x660)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x660)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x695))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'(x696, Neg(Succ(x697))) -> new_gcd0Gcd'1(False, x696, Neg(Succ(x697))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'(x696, Neg(Succ(x697))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x695)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x695)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 102.84/63.24 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x724))))), Pos(Succ(Succ(Succ(Succ(x725)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x725))))), Pos(new_primModNatS02(Succ(Succ(x724)), Succ(Succ(x725)), x724, x725))), new_gcd0Gcd'(x726, Pos(Succ(x727))) -> new_gcd0Gcd'1(False, x726, Pos(Succ(x727))) which results in the following constraint: 102.84/63.24 102.84/63.24 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x725))))), Pos(new_primModNatS02(Succ(Succ(x724)), Succ(Succ(x725)), x724, x725)))=new_gcd0Gcd'(x726, Pos(Succ(x727))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x724))))), Pos(Succ(Succ(Succ(Succ(x725))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x725))))), Pos(new_primModNatS02(Succ(Succ(x724)), Succ(Succ(x725)), x724, x725)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (2) (Succ(Succ(x724))=x1232 & Succ(Succ(x725))=x1233 & new_primModNatS02(x1232, x1233, x724, x725)=Succ(x727) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x724))))), Pos(Succ(Succ(Succ(Succ(x725))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x725))))), Pos(new_primModNatS02(Succ(Succ(x724)), Succ(Succ(x725)), x724, x725)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1232, x1233, x724, x725)=Succ(x727) which results in the following new constraints: 102.84/63.24 102.84/63.24 (3) (new_primModNatS01(x1236, x1235)=Succ(x727) & Succ(Succ(Succ(x1234)))=x1236 & Succ(Succ(Zero))=x1235 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1234)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1234))), Succ(Succ(Zero)), Succ(x1234), Zero)))) 102.84/63.24 102.84/63.24 (4) (new_primModNatS02(x1240, x1239, x1238, x1237)=Succ(x727) & Succ(Succ(Succ(x1238)))=x1240 & Succ(Succ(Succ(x1237)))=x1239 & (\/x1241:new_primModNatS02(x1240, x1239, x1238, x1237)=Succ(x1241) & Succ(Succ(x1238))=x1240 & Succ(Succ(x1237))=x1239 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1238))))), Pos(Succ(Succ(Succ(Succ(x1237))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1237))))), Pos(new_primModNatS02(Succ(Succ(x1238)), Succ(Succ(x1237)), x1238, x1237)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1238)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1237)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1237)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1238))), Succ(Succ(Succ(x1237))), Succ(x1238), Succ(x1237))))) 102.84/63.24 102.84/63.24 (5) (new_primModNatS01(x1243, x1242)=Succ(x727) & Succ(Succ(Zero))=x1243 & Succ(Succ(Zero))=x1242 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.24 102.84/63.24 (6) (Succ(Succ(x1246))=Succ(x727) & Succ(Succ(Zero))=x1246 & Succ(Succ(Succ(x1244)))=x1245 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1244))), Zero, Succ(x1244))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1236, x1235)=Succ(x727) which results in the following new constraint: 102.84/63.24 102.84/63.24 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1248), Succ(x1247)), Succ(x1247))=Succ(x727) & Succ(Succ(Succ(x1234)))=x1248 & Succ(Succ(Zero))=x1247 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1234)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1234))), Succ(Succ(Zero)), Succ(x1234), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (4) using rule (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (8) (new_primModNatS02(x1240, x1239, x1238, x1237)=Succ(x727) & Succ(Succ(Succ(x1238)))=x1240 & Succ(Succ(Succ(x1237)))=x1239 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1238)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1237)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1237)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1238))), Succ(Succ(Succ(x1237))), Succ(x1238), Succ(x1237))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1243, x1242)=Succ(x727) which results in the following new constraint: 102.84/63.24 102.84/63.24 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1267), Succ(x1266)), Succ(x1266))=Succ(x727) & Succ(Succ(Zero))=x1267 & Succ(Succ(Zero))=x1266 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.24 102.84/63.24 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1244))), Zero, Succ(x1244))))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.24 102.84/63.24 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1234)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1234))), Succ(Succ(Zero)), Succ(x1234), Zero)))) 102.84/63.24 102.84/63.24 102.84/63.24 102.84/63.24 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1240, x1239, x1238, x1237)=Succ(x727) which results in the following new constraints: 102.84/63.24 102.84/63.24 (12) (new_primModNatS01(x1255, x1254)=Succ(x727) & Succ(Succ(Succ(Succ(x1253))))=x1255 & Succ(Succ(Succ(Zero)))=x1254 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1253))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1253)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1253)), Succ(Zero))))) 102.84/63.24 102.84/63.24 (13) (new_primModNatS02(x1259, x1258, x1257, x1256)=Succ(x727) & Succ(Succ(Succ(Succ(x1257))))=x1259 & Succ(Succ(Succ(Succ(x1256))))=x1258 & (\/x1260:new_primModNatS02(x1259, x1258, x1257, x1256)=Succ(x1260) & Succ(Succ(Succ(x1257)))=x1259 & Succ(Succ(Succ(x1256)))=x1258 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1257)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1256)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1256)))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1257))), Succ(Succ(Succ(x1256))), Succ(x1257), Succ(x1256))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1257))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1257)))), Succ(Succ(Succ(Succ(x1256)))), Succ(Succ(x1257)), Succ(Succ(x1256)))))) 102.84/63.25 102.84/63.25 (14) (new_primModNatS01(x1262, x1261)=Succ(x727) & Succ(Succ(Succ(Zero)))=x1262 & Succ(Succ(Succ(Zero)))=x1261 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.25 102.84/63.25 (15) (Succ(Succ(x1265))=Succ(x727) & Succ(Succ(Succ(Zero)))=x1265 & Succ(Succ(Succ(Succ(x1263))))=x1264 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1263)))), Succ(Zero), Succ(Succ(x1263)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1253))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1253)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1253)), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1257))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1257)))), Succ(Succ(Succ(Succ(x1256)))), Succ(Succ(x1257)), Succ(Succ(x1256)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1263)))), Succ(Zero), Succ(Succ(x1263)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 102.84/63.25 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x786)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x787, Pos(Succ(x788))) -> new_gcd0Gcd'1(False, x787, Pos(Succ(x788))) which results in the following constraint: 102.84/63.25 102.84/63.25 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x787, Pos(Succ(x788))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x786))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x786))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 102.84/63.25 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero))))), new_gcd0Gcd'(x819, Pos(Succ(x820))) -> new_gcd0Gcd'1(False, x819, Pos(Succ(x820))) which results in the following constraint: 102.84/63.25 102.84/63.25 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))=new_gcd0Gcd'(x819, Pos(Succ(x820))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (2) (Succ(x818)=x1272 & Succ(Succ(Zero))=x1273 & new_primModNatS1(x1272, x1273)=Succ(x820) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1272, x1273)=Succ(x820) which results in the following new constraints: 102.84/63.25 102.84/63.25 (3) (Succ(Zero)=Succ(x820) & Succ(x818)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1274) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x820) & Succ(x818)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (5) (new_primModNatS1(new_primMinusNatS0(x1276), Zero)=Succ(x820) & Succ(x818)=Succ(Succ(x1276)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (6) (new_primModNatS02(x1278, x1277, x1278, x1277)=Succ(x820) & Succ(x818)=Succ(Succ(x1278)) & Succ(Succ(Zero))=Succ(x1277) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x818))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x818), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (7) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (8) (x1278=x1279 & x1277=x1280 & new_primModNatS02(x1278, x1277, x1279, x1280)=Succ(x820) & Succ(Zero)=x1277 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1278)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1278)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1278, x1277, x1279, x1280)=Succ(x820) which results in the following new constraints: 102.84/63.25 102.84/63.25 (9) (new_primModNatS01(x1283, x1282)=Succ(x820) & x1283=Succ(x1281) & x1282=Zero & Succ(Zero)=x1282 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1283)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1283)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (10) (new_primModNatS02(x1287, x1286, x1285, x1284)=Succ(x820) & x1287=Succ(x1285) & x1286=Succ(x1284) & Succ(Zero)=x1286 & (\/x1288:new_primModNatS02(x1287, x1286, x1285, x1284)=Succ(x1288) & x1287=x1285 & x1286=x1284 & Succ(Zero)=x1286 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1287)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1287)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1287)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1287)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (11) (new_primModNatS01(x1290, x1289)=Succ(x820) & x1290=Zero & x1289=Zero & Succ(Zero)=x1289 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1290)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1290)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (12) (Succ(Succ(x1293))=Succ(x820) & x1293=Zero & x1292=Succ(x1291) & Succ(Zero)=x1292 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1293)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1293)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 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: 102.84/63.25 102.84/63.25 (13) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1285))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1285))), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 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: 102.84/63.25 102.84/63.25 (14) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 102.84/63.25 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), new_gcd0Gcd'(x850, Pos(Succ(x851))) -> new_gcd0Gcd'1(False, x850, Pos(Succ(x851))) which results in the following constraint: 102.84/63.25 102.84/63.25 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_gcd0Gcd'(x850, Pos(Succ(x851))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 102.84/63.25 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x852))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x852, Zero, x852, Zero))), new_gcd0Gcd'(x853, Pos(Succ(x854))) -> new_gcd0Gcd'1(False, x853, Pos(Succ(x854))) which results in the following constraint: 102.84/63.25 102.84/63.25 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x852, Zero, x852, Zero)))=new_gcd0Gcd'(x853, Pos(Succ(x854))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x852))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x852, Zero, x852, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (2) (Zero=x1296 & x852=x1297 & Zero=x1298 & new_primModNatS02(x852, x1296, x1297, x1298)=Succ(x854) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x852))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x852, Zero, x852, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x852, x1296, x1297, x1298)=Succ(x854) which results in the following new constraints: 102.84/63.25 102.84/63.25 (3) (new_primModNatS01(x1301, x1300)=Succ(x854) & Zero=x1300 & x1301=Succ(x1299) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1301))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1301, Zero, x1301, Zero)))) 102.84/63.25 102.84/63.25 (4) (new_primModNatS02(x1305, x1304, x1303, x1302)=Succ(x854) & Zero=x1304 & x1305=Succ(x1303) & Zero=Succ(x1302) & (\/x1306:new_primModNatS02(x1305, x1304, x1303, x1302)=Succ(x1306) & Zero=x1304 & x1305=x1303 & Zero=x1302 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1305))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1305, Zero, x1305, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1305))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1305, Zero, x1305, Zero)))) 102.84/63.25 102.84/63.25 (5) (new_primModNatS01(x1308, x1307)=Succ(x854) & Zero=x1307 & x1308=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1308))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1308, Zero, x1308, Zero)))) 102.84/63.25 102.84/63.25 (6) (Succ(Succ(x1311))=Succ(x854) & Zero=x1310 & x1311=Zero & Zero=Succ(x1309) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1311))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x1311, Zero, x1311, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (7) (Succ(x1299)=x1312 & new_primModNatS01(x1312, x1300)=Succ(x854) & Zero=x1300 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1299)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1299), Zero, Succ(x1299), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 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: 102.84/63.25 102.84/63.25 (8) (Zero=x1319 & new_primModNatS01(x1319, x1307)=Succ(x854) & Zero=x1307 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1312, x1300)=Succ(x854) which results in the following new constraint: 102.84/63.25 102.84/63.25 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1314), Succ(x1313)), Succ(x1313))=Succ(x854) & Succ(x1299)=x1314 & Zero=x1313 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1299)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1299), Zero, Succ(x1299), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1299)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1299), Zero, Succ(x1299), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1319, x1307)=Succ(x854) which results in the following new constraint: 102.84/63.25 102.84/63.25 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x1321), Succ(x1320)), Succ(x1320))=Succ(x854) & Zero=x1321 & Zero=x1320 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 102.84/63.25 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x890))))), Pos(Succ(Succ(Succ(Succ(x891)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x891))))), Neg(new_primModNatS02(Succ(Succ(x890)), Succ(Succ(x891)), x890, x891))), new_gcd0Gcd'(x892, Neg(Succ(x893))) -> new_gcd0Gcd'1(False, x892, Neg(Succ(x893))) which results in the following constraint: 102.84/63.25 102.84/63.25 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x891))))), Neg(new_primModNatS02(Succ(Succ(x890)), Succ(Succ(x891)), x890, x891)))=new_gcd0Gcd'(x892, Neg(Succ(x893))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x890))))), Pos(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x891))))), Neg(new_primModNatS02(Succ(Succ(x890)), Succ(Succ(x891)), x890, x891)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (2) (Succ(Succ(x890))=x1326 & Succ(Succ(x891))=x1327 & new_primModNatS02(x1326, x1327, x890, x891)=Succ(x893) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x890))))), Pos(Succ(Succ(Succ(Succ(x891))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x891))))), Neg(new_primModNatS02(Succ(Succ(x890)), Succ(Succ(x891)), x890, x891)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1326, x1327, x890, x891)=Succ(x893) which results in the following new constraints: 102.84/63.25 102.84/63.25 (3) (new_primModNatS01(x1330, x1329)=Succ(x893) & Succ(Succ(Succ(x1328)))=x1330 & Succ(Succ(Zero))=x1329 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1328)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1328))), Succ(Succ(Zero)), Succ(x1328), Zero)))) 102.84/63.25 102.84/63.25 (4) (new_primModNatS02(x1334, x1333, x1332, x1331)=Succ(x893) & Succ(Succ(Succ(x1332)))=x1334 & Succ(Succ(Succ(x1331)))=x1333 & (\/x1335:new_primModNatS02(x1334, x1333, x1332, x1331)=Succ(x1335) & Succ(Succ(x1332))=x1334 & Succ(Succ(x1331))=x1333 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1332))))), Pos(Succ(Succ(Succ(Succ(x1331))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x1331))))), Neg(new_primModNatS02(Succ(Succ(x1332)), Succ(Succ(x1331)), x1332, x1331)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1332)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1331)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1331)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1332))), Succ(Succ(Succ(x1331))), Succ(x1332), Succ(x1331))))) 102.84/63.25 102.84/63.25 (5) (new_primModNatS01(x1337, x1336)=Succ(x893) & Succ(Succ(Zero))=x1337 & Succ(Succ(Zero))=x1336 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.25 102.84/63.25 (6) (Succ(Succ(x1340))=Succ(x893) & Succ(Succ(Zero))=x1340 & Succ(Succ(Succ(x1338)))=x1339 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1338))), Zero, Succ(x1338))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (3) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1330, x1329)=Succ(x893) which results in the following new constraint: 102.84/63.25 102.84/63.25 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x1342), Succ(x1341)), Succ(x1341))=Succ(x893) & Succ(Succ(Succ(x1328)))=x1342 & Succ(Succ(Zero))=x1341 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1328)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1328))), Succ(Succ(Zero)), Succ(x1328), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (4) using rule (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (8) (new_primModNatS02(x1334, x1333, x1332, x1331)=Succ(x893) & Succ(Succ(Succ(x1332)))=x1334 & Succ(Succ(Succ(x1331)))=x1333 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1332)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1331)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1331)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1332))), Succ(Succ(Succ(x1331))), Succ(x1332), Succ(x1331))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1337, x1336)=Succ(x893) which results in the following new constraint: 102.84/63.25 102.84/63.25 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1361), Succ(x1360)), Succ(x1360))=Succ(x893) & Succ(Succ(Zero))=x1361 & Succ(Succ(Zero))=x1360 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (6) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1338))), Zero, Succ(x1338))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1328)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1328))), Succ(Succ(Zero)), Succ(x1328), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1334, x1333, x1332, x1331)=Succ(x893) which results in the following new constraints: 102.84/63.25 102.84/63.25 (12) (new_primModNatS01(x1349, x1348)=Succ(x893) & Succ(Succ(Succ(Succ(x1347))))=x1349 & Succ(Succ(Succ(Zero)))=x1348 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1347))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1347)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1347)), Succ(Zero))))) 102.84/63.25 102.84/63.25 (13) (new_primModNatS02(x1353, x1352, x1351, x1350)=Succ(x893) & Succ(Succ(Succ(Succ(x1351))))=x1353 & Succ(Succ(Succ(Succ(x1350))))=x1352 & (\/x1354:new_primModNatS02(x1353, x1352, x1351, x1350)=Succ(x1354) & Succ(Succ(Succ(x1351)))=x1353 & Succ(Succ(Succ(x1350)))=x1352 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1351)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1350)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1350)))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1351))), Succ(Succ(Succ(x1350))), Succ(x1351), Succ(x1350))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1351))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1351)))), Succ(Succ(Succ(Succ(x1350)))), Succ(Succ(x1351)), Succ(Succ(x1350)))))) 102.84/63.25 102.84/63.25 (14) (new_primModNatS01(x1356, x1355)=Succ(x893) & Succ(Succ(Succ(Zero)))=x1356 & Succ(Succ(Succ(Zero)))=x1355 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.25 102.84/63.25 (15) (Succ(Succ(x1359))=Succ(x893) & Succ(Succ(Succ(Zero)))=x1359 & Succ(Succ(Succ(Succ(x1357))))=x1358 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1357)))), Succ(Zero), Succ(Succ(x1357)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1347))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1347)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1347)), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1351))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1351)))), Succ(Succ(Succ(Succ(x1350)))), Succ(Succ(x1351)), Succ(Succ(x1350)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1357)))), Succ(Zero), Succ(Succ(x1357)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 102.84/63.25 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x949)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'(x950, Neg(Succ(x951))) -> new_gcd0Gcd'1(False, x950, Neg(Succ(x951))) which results in the following constraint: 102.84/63.25 102.84/63.25 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'(x950, Neg(Succ(x951))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x949))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x949))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 102.84/63.25 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero))))), new_gcd0Gcd'(x982, Neg(Succ(x983))) -> new_gcd0Gcd'1(False, x982, Neg(Succ(x983))) which results in the following constraint: 102.84/63.25 102.84/63.25 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))=new_gcd0Gcd'(x982, Neg(Succ(x983))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (2) (Succ(x981)=x1366 & Succ(Succ(Zero))=x1367 & new_primModNatS1(x1366, x1367)=Succ(x983) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1366, x1367)=Succ(x983) which results in the following new constraints: 102.84/63.25 102.84/63.25 (3) (Succ(Zero)=Succ(x983) & Succ(x981)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1368) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (4) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x983) & Succ(x981)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (5) (new_primModNatS1(new_primMinusNatS0(x1370), Zero)=Succ(x983) & Succ(x981)=Succ(Succ(x1370)) & Succ(Succ(Zero))=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (6) (new_primModNatS02(x1372, x1371, x1372, x1371)=Succ(x983) & Succ(x981)=Succ(Succ(x1372)) & Succ(Succ(Zero))=Succ(x1371) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x981))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x981), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (3) using rules (I), (II), (III), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (7) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We solved constraint (4) using rules (I), (II).We solved constraint (5) using rules (I), (II).We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (8) (x1372=x1373 & x1371=x1374 & new_primModNatS02(x1372, x1371, x1373, x1374)=Succ(x983) & Succ(Zero)=x1371 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1372)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1372)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1372, x1371, x1373, x1374)=Succ(x983) which results in the following new constraints: 102.84/63.25 102.84/63.25 (9) (new_primModNatS01(x1377, x1376)=Succ(x983) & x1377=Succ(x1375) & x1376=Zero & Succ(Zero)=x1376 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1377)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1377)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (10) (new_primModNatS02(x1381, x1380, x1379, x1378)=Succ(x983) & x1381=Succ(x1379) & x1380=Succ(x1378) & Succ(Zero)=x1380 & (\/x1382:new_primModNatS02(x1381, x1380, x1379, x1378)=Succ(x1382) & x1381=x1379 & x1380=x1378 & Succ(Zero)=x1380 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1381)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1381)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1381)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1381)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (11) (new_primModNatS01(x1384, x1383)=Succ(x983) & x1384=Zero & x1383=Zero & Succ(Zero)=x1383 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1384)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1384)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 (12) (Succ(Succ(x1387))=Succ(x983) & x1387=Zero & x1386=Succ(x1385) & Succ(Zero)=x1386 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1387)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x1387)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 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: 102.84/63.25 102.84/63.25 (13) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1379))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1379))), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 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: 102.84/63.25 102.84/63.25 (14) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: 102.84/63.25 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), new_gcd0Gcd'(x1010, Neg(Succ(x1011))) -> new_gcd0Gcd'1(False, x1010, Neg(Succ(x1011))) which results in the following constraint: 102.84/63.25 102.84/63.25 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_gcd0Gcd'(x1010, Neg(Succ(x1011))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 102.84/63.25 102.84/63.25 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) the following chains were created: 102.84/63.25 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1015))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1015, Zero, x1015, Zero))), new_gcd0Gcd'(x1016, Neg(Succ(x1017))) -> new_gcd0Gcd'1(False, x1016, Neg(Succ(x1017))) which results in the following constraint: 102.84/63.25 102.84/63.25 (1) (new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1015, Zero, x1015, Zero)))=new_gcd0Gcd'(x1016, Neg(Succ(x1017))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1015))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1015, Zero, x1015, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (2) (Zero=x1390 & x1015=x1391 & Zero=x1392 & new_primModNatS02(x1015, x1390, x1391, x1392)=Succ(x1017) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1015))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1015, Zero, x1015, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1015, x1390, x1391, x1392)=Succ(x1017) which results in the following new constraints: 102.84/63.25 102.84/63.25 (3) (new_primModNatS01(x1395, x1394)=Succ(x1017) & Zero=x1394 & x1395=Succ(x1393) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1395))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1395, Zero, x1395, Zero)))) 102.84/63.25 102.84/63.25 (4) (new_primModNatS02(x1399, x1398, x1397, x1396)=Succ(x1017) & Zero=x1398 & x1399=Succ(x1397) & Zero=Succ(x1396) & (\/x1400:new_primModNatS02(x1399, x1398, x1397, x1396)=Succ(x1400) & Zero=x1398 & x1399=x1397 & Zero=x1396 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1399))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1399, Zero, x1399, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1399))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1399, Zero, x1399, Zero)))) 102.84/63.25 102.84/63.25 (5) (new_primModNatS01(x1402, x1401)=Succ(x1017) & Zero=x1401 & x1402=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1402))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1402, Zero, x1402, Zero)))) 102.84/63.25 102.84/63.25 (6) (Succ(Succ(x1405))=Succ(x1017) & Zero=x1404 & x1405=Zero & Zero=Succ(x1403) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1405))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x1405, Zero, x1405, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (7) (Succ(x1393)=x1406 & new_primModNatS01(x1406, x1394)=Succ(x1017) & Zero=x1394 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1393)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1393), Zero, Succ(x1393), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 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: 102.84/63.25 102.84/63.25 (8) (Zero=x1413 & new_primModNatS01(x1413, x1401)=Succ(x1017) & Zero=x1401 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1406, x1394)=Succ(x1017) which results in the following new constraint: 102.84/63.25 102.84/63.25 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x1408), Succ(x1407)), Succ(x1407))=Succ(x1017) & Succ(x1393)=x1408 & Zero=x1407 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1393)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1393), Zero, Succ(x1393), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1393)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1393), Zero, Succ(x1393), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1413, x1401)=Succ(x1017) which results in the following new constraint: 102.84/63.25 102.84/63.25 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x1415), Succ(x1414)), Succ(x1414))=Succ(x1017) & Zero=x1415 & Zero=x1414 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 102.84/63.25 102.84/63.25 (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 To summarize, we get the following constraints P__>=_ for the following pairs. 102.84/63.25 102.84/63.25 *new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Zero)), Pos(Succ(Succ(x4))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x4))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Zero)), Pos(Succ(Succ(x7))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x7))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x40)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x43)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x46))))), Pos(Succ(Succ(Succ(Succ(x47))))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x50))))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x61))))), Pos(Succ(Succ(Succ(Succ(x62))))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x65))))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x68))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x74))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x74))), Pos(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x109))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(x109))), Neg(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Zero)), Neg(Succ(Succ(x148))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x148))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Zero)), Neg(Succ(Succ(x151))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x151))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x154)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x157)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x160))))), Neg(Succ(Succ(Succ(Succ(x161))))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x164))))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x167))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x172))))), Neg(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x175))))), Neg(Succ(Succ(Succ(Succ(x176))))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x179))))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x182))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x187))))), Neg(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x212))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x212))), Pos(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x247))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(x247))), Neg(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x276)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x276)))), Pos(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x311)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(x311)))), Neg(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1075))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1075)))), Succ(Zero), Succ(Succ(x1075)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1056)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1056))), Zero, Succ(x1056))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1046)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1046))), Succ(Succ(Zero)), Succ(x1046), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1065))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1065)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1065)), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1069))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1068))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1069)))), Succ(Succ(Succ(Succ(x1068)))), Succ(Succ(x1069)), Succ(Succ(x1068)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x402))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x402))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1097))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1097))), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1111)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1111), Zero, Succ(x1111), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1169))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1169)))), Succ(Zero), Succ(Succ(x1169)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(x1150)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1150))), Zero, Succ(x1150))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1140)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1140))), Succ(Succ(Zero)), Succ(x1140), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1159))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1159)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1159)), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1163))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1162))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1163)))), Succ(Succ(Succ(Succ(x1162)))), Succ(Succ(x1163)), Succ(Succ(x1162)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x565))))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x565))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1191))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1191))), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1205)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1205), Zero, Succ(x1205), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x660)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x660)))), Pos(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x695)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(x695)))), Neg(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1263))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1263)))), Succ(Zero), Succ(Succ(x1263)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1244)))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1244))), Zero, Succ(x1244))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1234)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Succ(x1234))), Succ(Succ(Zero)), Succ(x1234), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1253))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1253)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1253)), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1257))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1256))))))), Pos(new_primModNatS02(Succ(Succ(Succ(Succ(x1257)))), Succ(Succ(Succ(Succ(x1256)))), Succ(Succ(x1257)), Succ(Succ(x1256)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x786))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x786))))), Pos(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1285))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1285))), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x1299)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x1299), Zero, Succ(x1299), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1357))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1357)))), Succ(Zero), Succ(Succ(x1357)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(x1338)))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Succ(x1338))), Zero, Succ(x1338))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1328)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Succ(x1328))), Succ(Succ(Zero)), Succ(x1328), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1347))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1347)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1347)), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1351))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1350))))))), Neg(new_primModNatS02(Succ(Succ(Succ(Succ(x1351)))), Succ(Succ(Succ(Succ(x1350)))), Succ(Succ(x1351)), Succ(Succ(x1350)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS02(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS02(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x949))))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x949))))), Neg(Succ(Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1379))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x1379))), Succ(Succ(Zero)))))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x1393)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x1393), Zero, Succ(x1393), Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero, Zero, Zero)))) 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 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. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (910) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_gcd0Gcd'(y0, Pos(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Pos(Succ(x0))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 102.84/63.25 new_gcd0Gcd'(y0, Neg(Succ(x0))) -> new_gcd0Gcd'1(False, y0, Neg(Succ(x0))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 102.84/63.25 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(x0, Zero, x0, Zero))) 102.84/63.25 102.84/63.25 The TRS R consists of the following rules: 102.84/63.25 102.84/63.25 new_primModNatS1(Succ(Zero), Succ(vuz155000)) -> Succ(Zero) 102.84/63.25 new_primModNatS1(Zero, vuz15500) -> Zero 102.84/63.25 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 102.84/63.25 new_primModNatS1(Succ(Succ(vuz156000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz156000), Zero) 102.84/63.25 new_primModNatS1(Succ(Succ(vuz156000)), Succ(vuz155000)) -> new_primModNatS02(vuz156000, vuz155000, vuz156000, vuz155000) 102.84/63.25 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Zero) -> new_primModNatS01(vuz488, vuz489) 102.84/63.25 new_primModNatS01(vuz488, vuz489) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz488), Succ(vuz489)), Succ(vuz489)) 102.84/63.25 new_primModNatS02(vuz488, vuz489, Succ(vuz4900), Succ(vuz4910)) -> new_primModNatS02(vuz488, vuz489, vuz4900, vuz4910) 102.84/63.25 new_primModNatS02(vuz488, vuz489, Zero, Zero) -> new_primModNatS01(vuz488, vuz489) 102.84/63.25 new_primModNatS02(vuz488, vuz489, Zero, Succ(vuz4910)) -> Succ(Succ(vuz488)) 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.84/63.25 new_primMinusNatS2(Zero, Zero) -> Zero 102.84/63.25 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.84/63.25 new_primMinusNatS1 -> Zero 102.84/63.25 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.84/63.25 102.84/63.25 The set Q consists of the following terms: 102.84/63.25 102.84/63.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.84/63.25 new_primMinusNatS2(Zero, Succ(x0)) 102.84/63.25 new_primMinusNatS1 102.84/63.25 new_primModNatS01(x0, x1) 102.84/63.25 new_primMinusNatS2(Succ(x0), Zero) 102.84/63.25 new_primModNatS02(x0, x1, Succ(x2), Succ(x3)) 102.84/63.25 new_primModNatS1(Succ(Succ(x0)), Zero) 102.84/63.25 new_primModNatS1(Zero, x0) 102.84/63.25 new_primMinusNatS2(Zero, Zero) 102.84/63.25 new_primModNatS02(x0, x1, Zero, Zero) 102.84/63.25 new_primModNatS1(Succ(Zero), Zero) 102.84/63.25 new_primMinusNatS0(x0) 102.84/63.25 new_primModNatS02(x0, x1, Zero, Succ(x2)) 102.84/63.25 new_primModNatS02(x0, x1, Succ(x2), Zero) 102.84/63.25 new_primModNatS1(Succ(Zero), Succ(x0)) 102.84/63.25 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 102.84/63.25 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (911) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_absReal1(vuz291, Succ(vuz2920), Succ(vuz2930)) -> new_absReal1(vuz291, vuz2920, vuz2930) 102.84/63.25 102.84/63.25 R is empty. 102.84/63.25 Q is empty. 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (912) QDPSizeChangeProof (EQUIVALENT) 102.84/63.25 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. 102.84/63.25 102.84/63.25 From the DPs we obtained the following set of size-change graphs: 102.84/63.25 *new_absReal1(vuz291, Succ(vuz2920), Succ(vuz2930)) -> new_absReal1(vuz291, vuz2920, vuz2930) 102.84/63.25 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 102.84/63.25 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (913) 102.84/63.25 YES 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (914) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_absReal10(vuz287, Succ(vuz2880), Succ(vuz2890)) -> new_absReal10(vuz287, vuz2880, vuz2890) 102.84/63.25 102.84/63.25 R is empty. 102.84/63.25 Q is empty. 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (915) QDPSizeChangeProof (EQUIVALENT) 102.84/63.25 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. 102.84/63.25 102.84/63.25 From the DPs we obtained the following set of size-change graphs: 102.84/63.25 *new_absReal10(vuz287, Succ(vuz2880), Succ(vuz2890)) -> new_absReal10(vuz287, vuz2880, vuz2890) 102.84/63.25 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3 102.84/63.25 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (916) 102.84/63.25 YES 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (917) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_primDivNatS(Succ(Succ(vuz30100)), Succ(vuz319000)) -> new_primDivNatS0(vuz30100, vuz319000, vuz30100, vuz319000) 102.84/63.25 new_primDivNatS0(vuz452, vuz453, Zero, Zero) -> new_primDivNatS00(vuz452, vuz453) 102.84/63.25 new_primDivNatS(Succ(Succ(vuz30100)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz30100), Zero) 102.84/63.25 new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Succ(vuz4550)) -> new_primDivNatS0(vuz452, vuz453, vuz4540, vuz4550) 102.84/63.25 new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) 102.84/63.25 new_primDivNatS00(vuz452, vuz453) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) 102.84/63.25 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) 102.84/63.25 102.84/63.25 The TRS R consists of the following rules: 102.84/63.25 102.84/63.25 new_primMinusNatS1 -> Zero 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.84/63.25 new_primMinusNatS2(Zero, Zero) -> Zero 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.84/63.25 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.84/63.25 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.84/63.25 102.84/63.25 The set Q consists of the following terms: 102.84/63.25 102.84/63.25 new_primMinusNatS2(Succ(x0), Zero) 102.84/63.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.84/63.25 new_primMinusNatS2(Zero, Succ(x0)) 102.84/63.25 new_primMinusNatS0(x0) 102.84/63.25 new_primMinusNatS2(Zero, Zero) 102.84/63.25 new_primMinusNatS1 102.84/63.25 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (918) DependencyGraphProof (EQUIVALENT) 102.84/63.25 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (919) 102.84/63.25 Complex Obligation (AND) 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (920) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_primDivNatS(Succ(Succ(vuz30100)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz30100), Zero) 102.84/63.25 102.84/63.25 The TRS R consists of the following rules: 102.84/63.25 102.84/63.25 new_primMinusNatS1 -> Zero 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.84/63.25 new_primMinusNatS2(Zero, Zero) -> Zero 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.84/63.25 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.84/63.25 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.84/63.25 102.84/63.25 The set Q consists of the following terms: 102.84/63.25 102.84/63.25 new_primMinusNatS2(Succ(x0), Zero) 102.84/63.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.84/63.25 new_primMinusNatS2(Zero, Succ(x0)) 102.84/63.25 new_primMinusNatS0(x0) 102.84/63.25 new_primMinusNatS2(Zero, Zero) 102.84/63.25 new_primMinusNatS1 102.84/63.25 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (921) MRRProof (EQUIVALENT) 102.84/63.25 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. 102.84/63.25 102.84/63.25 Strictly oriented dependency pairs: 102.84/63.25 102.84/63.25 new_primDivNatS(Succ(Succ(vuz30100)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz30100), Zero) 102.84/63.25 102.84/63.25 Strictly oriented rules of the TRS R: 102.84/63.25 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.84/63.25 new_primMinusNatS2(Zero, Zero) -> Zero 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.84/63.25 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.84/63.25 102.84/63.25 Used ordering: Polynomial interpretation [POLO]: 102.84/63.25 102.84/63.25 POL(Succ(x_1)) = 1 + x_1 102.84/63.25 POL(Zero) = 2 102.84/63.25 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 102.84/63.25 POL(new_primMinusNatS0(x_1)) = 1 + x_1 102.84/63.25 POL(new_primMinusNatS1) = 2 102.84/63.25 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 102.84/63.25 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (922) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 P is empty. 102.84/63.25 The TRS R consists of the following rules: 102.84/63.25 102.84/63.25 new_primMinusNatS1 -> Zero 102.84/63.25 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.84/63.25 102.84/63.25 The set Q consists of the following terms: 102.84/63.25 102.84/63.25 new_primMinusNatS2(Succ(x0), Zero) 102.84/63.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.84/63.25 new_primMinusNatS2(Zero, Succ(x0)) 102.84/63.25 new_primMinusNatS0(x0) 102.84/63.25 new_primMinusNatS2(Zero, Zero) 102.84/63.25 new_primMinusNatS1 102.84/63.25 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (923) PisEmptyProof (EQUIVALENT) 102.84/63.25 The TRS P is empty. Hence, there is no (P,Q,R) chain. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (924) 102.84/63.25 YES 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (925) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_primDivNatS0(vuz452, vuz453, Zero, Zero) -> new_primDivNatS00(vuz452, vuz453) 102.84/63.25 new_primDivNatS00(vuz452, vuz453) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) 102.84/63.25 new_primDivNatS(Succ(Succ(vuz30100)), Succ(vuz319000)) -> new_primDivNatS0(vuz30100, vuz319000, vuz30100, vuz319000) 102.84/63.25 new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Succ(vuz4550)) -> new_primDivNatS0(vuz452, vuz453, vuz4540, vuz4550) 102.84/63.25 new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) 102.84/63.25 102.84/63.25 The TRS R consists of the following rules: 102.84/63.25 102.84/63.25 new_primMinusNatS1 -> Zero 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.84/63.25 new_primMinusNatS2(Zero, Zero) -> Zero 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.84/63.25 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.84/63.25 new_primMinusNatS0(vuz30100) -> Succ(vuz30100) 102.84/63.25 102.84/63.25 The set Q consists of the following terms: 102.84/63.25 102.84/63.25 new_primMinusNatS2(Succ(x0), Zero) 102.84/63.25 new_primMinusNatS2(Succ(x0), Succ(x1)) 102.84/63.25 new_primMinusNatS2(Zero, Succ(x0)) 102.84/63.25 new_primMinusNatS0(x0) 102.84/63.25 new_primMinusNatS2(Zero, Zero) 102.84/63.25 new_primMinusNatS1 102.84/63.25 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (926) QDPSizeChangeProof (EQUIVALENT) 102.84/63.25 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 102.84/63.25 102.84/63.25 Order:Polynomial interpretation [POLO]: 102.84/63.25 102.84/63.25 POL(Succ(x_1)) = 1 + x_1 102.84/63.25 POL(Zero) = 1 102.84/63.25 POL(new_primMinusNatS2(x_1, x_2)) = x_1 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 From the DPs we obtained the following set of size-change graphs: 102.84/63.25 *new_primDivNatS00(vuz452, vuz453) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) (allowed arguments on rhs = {1, 2}) 102.84/63.25 The graph contains the following edges 1 >= 1 102.84/63.25 102.84/63.25 102.84/63.25 *new_primDivNatS(Succ(Succ(vuz30100)), Succ(vuz319000)) -> new_primDivNatS0(vuz30100, vuz319000, vuz30100, vuz319000) (allowed arguments on rhs = {1, 2, 3, 4}) 102.84/63.25 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 102.84/63.25 102.84/63.25 102.84/63.25 *new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Succ(vuz4550)) -> new_primDivNatS0(vuz452, vuz453, vuz4540, vuz4550) (allowed arguments on rhs = {1, 2, 3, 4}) 102.84/63.25 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 102.84/63.25 102.84/63.25 102.84/63.25 *new_primDivNatS0(vuz452, vuz453, Zero, Zero) -> new_primDivNatS00(vuz452, vuz453) (allowed arguments on rhs = {1, 2}) 102.84/63.25 The graph contains the following edges 1 >= 1, 2 >= 2 102.84/63.25 102.84/63.25 102.84/63.25 *new_primDivNatS0(vuz452, vuz453, Succ(vuz4540), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz452, vuz453), Succ(vuz453)) (allowed arguments on rhs = {1, 2}) 102.84/63.25 The graph contains the following edges 1 >= 1 102.84/63.25 102.84/63.25 102.84/63.25 102.84/63.25 We oriented the following set of usable rules [AAECC05,FROCOS05]. 102.84/63.25 102.84/63.25 new_primMinusNatS2(Zero, Zero) -> Zero 102.84/63.25 new_primMinusNatS2(Zero, Succ(vuz4530)) -> Zero 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Zero) -> Succ(vuz4520) 102.84/63.25 new_primMinusNatS2(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS2(vuz4520, vuz4530) 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (927) 102.84/63.25 YES 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (928) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_signumReal10(vuz457, Succ(vuz4580), Succ(vuz4590), h) -> new_signumReal10(vuz457, vuz4580, vuz4590, h) 102.84/63.25 102.84/63.25 R is empty. 102.84/63.25 Q is empty. 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (929) QDPSizeChangeProof (EQUIVALENT) 102.84/63.25 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. 102.84/63.25 102.84/63.25 From the DPs we obtained the following set of size-change graphs: 102.84/63.25 *new_signumReal10(vuz457, Succ(vuz4580), Succ(vuz4590), h) -> new_signumReal10(vuz457, vuz4580, vuz4590, h) 102.84/63.25 The graph contains the following edges 1 >= 1, 2 > 2, 3 > 3, 4 >= 4 102.84/63.25 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (930) 102.84/63.25 YES 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (931) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_primMulNat(Succ(vuz23600), Succ(vuz27500)) -> new_primMulNat(vuz23600, Succ(vuz27500)) 102.84/63.25 102.84/63.25 R is empty. 102.84/63.25 Q is empty. 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (932) QDPSizeChangeProof (EQUIVALENT) 102.84/63.25 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. 102.84/63.25 102.84/63.25 From the DPs we obtained the following set of size-change graphs: 102.84/63.25 *new_primMulNat(Succ(vuz23600), Succ(vuz27500)) -> new_primMulNat(vuz23600, Succ(vuz27500)) 102.84/63.25 The graph contains the following edges 1 > 1, 2 >= 2 102.84/63.25 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (933) 102.84/63.25 YES 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (934) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_primMinusNatS(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS(vuz4520, vuz4530) 102.84/63.25 102.84/63.25 R is empty. 102.84/63.25 Q is empty. 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (935) QDPSizeChangeProof (EQUIVALENT) 102.84/63.25 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. 102.84/63.25 102.84/63.25 From the DPs we obtained the following set of size-change graphs: 102.84/63.25 *new_primMinusNatS(Succ(vuz4520), Succ(vuz4530)) -> new_primMinusNatS(vuz4520, vuz4530) 102.84/63.25 The graph contains the following edges 1 > 1, 2 > 2 102.84/63.25 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (936) 102.84/63.25 YES 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (937) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_primEqNat(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat(vuz170000, vuz173000) 102.84/63.25 102.84/63.25 R is empty. 102.84/63.25 Q is empty. 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (938) QDPSizeChangeProof (EQUIVALENT) 102.84/63.25 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. 102.84/63.25 102.84/63.25 From the DPs we obtained the following set of size-change graphs: 102.84/63.25 *new_primEqNat(Succ(vuz170000), Succ(vuz173000)) -> new_primEqNat(vuz170000, vuz173000) 102.84/63.25 The graph contains the following edges 1 > 1, 2 > 2 102.84/63.25 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (939) 102.84/63.25 YES 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (940) 102.84/63.25 Obligation: 102.84/63.25 Q DP problem: 102.84/63.25 The TRS P consists of the following rules: 102.84/63.25 102.84/63.25 new_primPlusNat(Succ(vuz28500), Succ(vuz275000)) -> new_primPlusNat(vuz28500, vuz275000) 102.84/63.25 102.84/63.25 R is empty. 102.84/63.25 Q is empty. 102.84/63.25 We have to consider all minimal (P,Q,R)-chains. 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (941) QDPSizeChangeProof (EQUIVALENT) 102.84/63.25 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. 102.84/63.25 102.84/63.25 From the DPs we obtained the following set of size-change graphs: 102.84/63.25 *new_primPlusNat(Succ(vuz28500), Succ(vuz275000)) -> new_primPlusNat(vuz28500, vuz275000) 102.84/63.25 The graph contains the following edges 1 > 1, 2 > 2 102.84/63.25 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (942) 102.84/63.25 YES 102.84/63.25 102.84/63.25 ---------------------------------------- 102.84/63.25 102.84/63.25 (943) Narrow (COMPLETE) 102.84/63.25 Haskell To QDPs 102.84/63.25 102.84/63.25 digraph dp_graph { 102.84/63.25 node [outthreshold=100, inthreshold=100];1[label="fromDouble",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 102.84/63.25 3[label="fromDouble vuz3",fontsize=16,color="blue",shape="box"];8234[label="fromDouble :: Double -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];3 -> 8234[label="",style="solid", color="blue", weight=9]; 102.84/63.25 8234 -> 4[label="",style="solid", color="blue", weight=3]; 102.84/63.25 8235[label="fromDouble :: Double -> Double",fontsize=10,color="white",style="solid",shape="box"];3 -> 8235[label="",style="solid", color="blue", weight=9]; 102.84/63.25 8235 -> 5[label="",style="solid", color="blue", weight=3]; 102.84/63.25 8236[label="fromDouble :: Double -> Float",fontsize=10,color="white",style="solid",shape="box"];3 -> 8236[label="",style="solid", color="blue", weight=9]; 102.84/63.25 8236 -> 6[label="",style="solid", color="blue", weight=3]; 102.84/63.25 4[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];4 -> 7[label="",style="solid", color="black", weight=3]; 102.84/63.25 5[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];5 -> 8[label="",style="solid", color="black", weight=3]; 102.84/63.25 6[label="fromDouble vuz3",fontsize=16,color="black",shape="box"];6 -> 9[label="",style="solid", color="black", weight=3]; 102.84/63.25 7[label="doubleToRatio vuz3",fontsize=16,color="burlywood",shape="box"];8237[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];7 -> 8237[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8237 -> 10[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8[label="vuz3",fontsize=16,color="green",shape="box"];9[label="doubleToFloat vuz3",fontsize=16,color="burlywood",shape="box"];8238[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];9 -> 8238[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8238 -> 11[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 10[label="doubleToRatio (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];10 -> 12[label="",style="solid", color="black", weight=3]; 102.84/63.25 11[label="doubleToFloat (Double vuz30 vuz31)",fontsize=16,color="black",shape="box"];11 -> 13[label="",style="solid", color="black", weight=3]; 102.84/63.25 12[label="fromInt vuz30 % fromInt vuz31",fontsize=16,color="black",shape="box"];12 -> 14[label="",style="solid", color="black", weight=3]; 102.84/63.25 13[label="Float vuz30 vuz31",fontsize=16,color="green",shape="box"];14[label="reduce (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31))",fontsize=16,color="black",shape="box"];14 -> 15[label="",style="solid", color="black", weight=3]; 102.84/63.25 15[label="reduce2 (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31))",fontsize=16,color="black",shape="box"];15 -> 16[label="",style="solid", color="black", weight=3]; 102.84/63.25 16 -> 17[label="",style="dashed", color="red", weight=0]; 102.84/63.25 16[label="reduce2Reduce1 (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31)) (fromInt vuz30 * signum (fromInt vuz31)) (abs (fromInt vuz31)) (abs (fromInt vuz31) == fromInt (Pos Zero))",fontsize=16,color="magenta"];16 -> 18[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 16 -> 19[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 16 -> 20[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 18[label="vuz31",fontsize=16,color="green",shape="box"];19[label="vuz30",fontsize=16,color="green",shape="box"];20[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];8239[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];20 -> 8239[label="",style="solid", color="blue", weight=9]; 102.84/63.25 8239 -> 21[label="",style="solid", color="blue", weight=3]; 102.84/63.25 8240[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];20 -> 8240[label="",style="solid", color="blue", weight=9]; 102.84/63.25 8240 -> 22[label="",style="solid", color="blue", weight=3]; 102.84/63.25 17[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) vuz10",fontsize=16,color="burlywood",shape="triangle"];8241[label="vuz10/False",fontsize=10,color="white",style="solid",shape="box"];17 -> 8241[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8241 -> 23[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8242[label="vuz10/True",fontsize=10,color="white",style="solid",shape="box"];17 -> 8242[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8242 -> 24[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 21 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.25 21[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="magenta"];21 -> 2583[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 22[label="abs (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];22 -> 26[label="",style="solid", color="black", weight=3]; 102.84/63.25 23[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) False",fontsize=16,color="black",shape="box"];23 -> 27[label="",style="solid", color="black", weight=3]; 102.84/63.25 24[label="reduce2Reduce1 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) True",fontsize=16,color="black",shape="box"];24 -> 28[label="",style="solid", color="black", weight=3]; 102.84/63.25 2583 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.25 2583[label="abs (fromInt vuz31)",fontsize=16,color="magenta"];2583 -> 2609[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 2582[label="vuz170 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];2582 -> 2610[label="",style="solid", color="black", weight=3]; 102.84/63.25 26[label="absReal (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];26 -> 30[label="",style="solid", color="black", weight=3]; 102.84/63.25 27[label="reduce2Reduce0 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) otherwise",fontsize=16,color="black",shape="box"];27 -> 31[label="",style="solid", color="black", weight=3]; 102.84/63.25 28[label="error []",fontsize=16,color="black",shape="box"];28 -> 32[label="",style="solid", color="black", weight=3]; 102.84/63.25 2609[label="fromInt vuz31",fontsize=16,color="black",shape="triangle"];2609 -> 2646[label="",style="solid", color="black", weight=3]; 102.84/63.25 2348[label="abs vuz158",fontsize=16,color="black",shape="triangle"];2348 -> 2437[label="",style="solid", color="black", weight=3]; 102.84/63.25 2610 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.25 2610[label="primEqInt vuz170 (fromInt (Pos Zero))",fontsize=16,color="magenta"];2610 -> 2648[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 30[label="absReal2 (fromInt vuz31) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];30 -> 34[label="",style="solid", color="black", weight=3]; 102.84/63.25 31[label="reduce2Reduce0 (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) True",fontsize=16,color="black",shape="box"];31 -> 35[label="",style="solid", color="black", weight=3]; 102.84/63.25 32[label="error []",fontsize=16,color="red",shape="box"];2646[label="vuz31",fontsize=16,color="green",shape="box"];2437[label="absReal vuz158",fontsize=16,color="black",shape="box"];2437 -> 2483[label="",style="solid", color="black", weight=3]; 102.84/63.25 2648 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.25 2648[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2648 -> 2891[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 2647[label="primEqInt vuz170 vuz173",fontsize=16,color="burlywood",shape="triangle"];8243[label="vuz170/Pos vuz1700",fontsize=10,color="white",style="solid",shape="box"];2647 -> 8243[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8243 -> 2892[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8244[label="vuz170/Neg vuz1700",fontsize=10,color="white",style="solid",shape="box"];2647 -> 8244[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8244 -> 2893[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 34[label="absReal1 (fromInt vuz31) (fromInt vuz31 >= fromInt (Pos Zero)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];34 -> 37[label="",style="solid", color="black", weight=3]; 102.84/63.25 35[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)) :% (abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="green",shape="box"];35 -> 38[label="",style="dashed", color="green", weight=3]; 102.84/63.25 35 -> 39[label="",style="dashed", color="green", weight=3]; 102.84/63.25 2483[label="absReal2 vuz158",fontsize=16,color="black",shape="box"];2483 -> 2531[label="",style="solid", color="black", weight=3]; 102.84/63.25 2891[label="Pos Zero",fontsize=16,color="green",shape="box"];2892[label="primEqInt (Pos vuz1700) vuz173",fontsize=16,color="burlywood",shape="box"];8245[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];2892 -> 8245[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8245 -> 2896[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8246[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];2892 -> 8246[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8246 -> 2897[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2893[label="primEqInt (Neg vuz1700) vuz173",fontsize=16,color="burlywood",shape="box"];8247[label="vuz1700/Succ vuz17000",fontsize=10,color="white",style="solid",shape="box"];2893 -> 8247[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8247 -> 2898[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8248[label="vuz1700/Zero",fontsize=10,color="white",style="solid",shape="box"];2893 -> 8248[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8248 -> 2899[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 37[label="absReal1 (fromInt vuz31) (compare (fromInt vuz31) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];37 -> 41[label="",style="solid", color="black", weight=3]; 102.84/63.25 38[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="blue",shape="box"];8249[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];38 -> 8249[label="",style="solid", color="blue", weight=9]; 102.84/63.25 8249 -> 42[label="",style="solid", color="blue", weight=3]; 102.84/63.25 8250[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];38 -> 8250[label="",style="solid", color="blue", weight=9]; 102.84/63.25 8250 -> 43[label="",style="solid", color="blue", weight=3]; 102.84/63.25 39[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="blue",shape="box"];8251[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];39 -> 8251[label="",style="solid", color="blue", weight=9]; 102.84/63.25 8251 -> 44[label="",style="solid", color="blue", weight=3]; 102.84/63.25 8252[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];39 -> 8252[label="",style="solid", color="blue", weight=9]; 102.84/63.25 8252 -> 45[label="",style="solid", color="blue", weight=3]; 102.84/63.25 2531[label="absReal1 vuz158 (vuz158 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];2531 -> 2545[label="",style="solid", color="black", weight=3]; 102.84/63.25 2896[label="primEqInt (Pos (Succ vuz17000)) vuz173",fontsize=16,color="burlywood",shape="box"];8253[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2896 -> 8253[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8253 -> 2955[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8254[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2896 -> 8254[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8254 -> 2956[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2897[label="primEqInt (Pos Zero) vuz173",fontsize=16,color="burlywood",shape="box"];8255[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2897 -> 8255[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8255 -> 2957[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8256[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2897 -> 8256[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8256 -> 2958[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2898[label="primEqInt (Neg (Succ vuz17000)) vuz173",fontsize=16,color="burlywood",shape="box"];8257[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2898 -> 8257[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8257 -> 2959[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8258[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2898 -> 8258[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8258 -> 2960[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2899[label="primEqInt (Neg Zero) vuz173",fontsize=16,color="burlywood",shape="box"];8259[label="vuz173/Pos vuz1730",fontsize=10,color="white",style="solid",shape="box"];2899 -> 8259[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8259 -> 2961[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8260[label="vuz173/Neg vuz1730",fontsize=10,color="white",style="solid",shape="box"];2899 -> 8260[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8260 -> 2962[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 41[label="absReal1 (fromInt vuz31) (not (compare (fromInt vuz31) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];41 -> 47[label="",style="solid", color="black", weight=3]; 102.84/63.25 42[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];42 -> 48[label="",style="solid", color="black", weight=3]; 102.84/63.25 43[label="fromInt vuz8 * signum (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];43 -> 49[label="",style="solid", color="black", weight=3]; 102.84/63.25 44[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];44 -> 50[label="",style="solid", color="black", weight=3]; 102.84/63.25 45[label="abs (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];45 -> 51[label="",style="solid", color="black", weight=3]; 102.84/63.25 2545 -> 2894[label="",style="dashed", color="red", weight=0]; 102.84/63.25 2545[label="absReal1 vuz158 (compare vuz158 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="magenta"];2545 -> 2895[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 2955[label="primEqInt (Pos (Succ vuz17000)) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8261[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2955 -> 8261[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8261 -> 2979[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8262[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2955 -> 8262[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8262 -> 2980[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2956[label="primEqInt (Pos (Succ vuz17000)) (Neg vuz1730)",fontsize=16,color="black",shape="box"];2956 -> 2981[label="",style="solid", color="black", weight=3]; 102.84/63.25 2957[label="primEqInt (Pos Zero) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8263[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2957 -> 8263[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8263 -> 2982[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8264[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2957 -> 8264[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8264 -> 2983[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2958[label="primEqInt (Pos Zero) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8265[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2958 -> 8265[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8265 -> 2984[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8266[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2958 -> 8266[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8266 -> 2985[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2959[label="primEqInt (Neg (Succ vuz17000)) (Pos vuz1730)",fontsize=16,color="black",shape="box"];2959 -> 2986[label="",style="solid", color="black", weight=3]; 102.84/63.25 2960[label="primEqInt (Neg (Succ vuz17000)) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8267[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2960 -> 8267[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8267 -> 2987[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8268[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2960 -> 8268[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8268 -> 2988[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2961[label="primEqInt (Neg Zero) (Pos vuz1730)",fontsize=16,color="burlywood",shape="box"];8269[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2961 -> 8269[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8269 -> 2989[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8270[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2961 -> 8270[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8270 -> 2990[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2962[label="primEqInt (Neg Zero) (Neg vuz1730)",fontsize=16,color="burlywood",shape="box"];8271[label="vuz1730/Succ vuz17300",fontsize=10,color="white",style="solid",shape="box"];2962 -> 8271[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8271 -> 2991[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8272[label="vuz1730/Zero",fontsize=10,color="white",style="solid",shape="box"];2962 -> 8272[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8272 -> 2992[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 47[label="absReal1 (Integer vuz31) (not (compare (Integer vuz31) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];47 -> 53[label="",style="solid", color="black", weight=3]; 102.84/63.25 48[label="primQuotInt (fromInt vuz8 * signum (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];48 -> 54[label="",style="solid", color="black", weight=3]; 102.84/63.25 49[label="Integer vuz8 * signum (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];49 -> 55[label="",style="solid", color="black", weight=3]; 102.84/63.25 50[label="primQuotInt (abs (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];50 -> 56[label="",style="solid", color="black", weight=3]; 102.84/63.25 51[label="absReal (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal (fromInt vuz9))",fontsize=16,color="black",shape="box"];51 -> 57[label="",style="solid", color="black", weight=3]; 102.84/63.25 2895 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.25 2895[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];2895 -> 2900[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 2894[label="absReal1 vuz158 (compare vuz158 vuz174 /= LT)",fontsize=16,color="black",shape="triangle"];2894 -> 2901[label="",style="solid", color="black", weight=3]; 102.84/63.25 2979[label="primEqInt (Pos (Succ vuz17000)) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2979 -> 3059[label="",style="solid", color="black", weight=3]; 102.84/63.25 2980[label="primEqInt (Pos (Succ vuz17000)) (Pos Zero)",fontsize=16,color="black",shape="box"];2980 -> 3060[label="",style="solid", color="black", weight=3]; 102.84/63.25 2981[label="False",fontsize=16,color="green",shape="box"];2982[label="primEqInt (Pos Zero) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2982 -> 3061[label="",style="solid", color="black", weight=3]; 102.84/63.25 2983[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2983 -> 3062[label="",style="solid", color="black", weight=3]; 102.84/63.25 2984[label="primEqInt (Pos Zero) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2984 -> 3063[label="",style="solid", color="black", weight=3]; 102.84/63.25 2985[label="primEqInt (Pos Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2985 -> 3064[label="",style="solid", color="black", weight=3]; 102.84/63.25 2986[label="False",fontsize=16,color="green",shape="box"];2987[label="primEqInt (Neg (Succ vuz17000)) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2987 -> 3065[label="",style="solid", color="black", weight=3]; 102.84/63.25 2988[label="primEqInt (Neg (Succ vuz17000)) (Neg Zero)",fontsize=16,color="black",shape="box"];2988 -> 3066[label="",style="solid", color="black", weight=3]; 102.84/63.25 2989[label="primEqInt (Neg Zero) (Pos (Succ vuz17300))",fontsize=16,color="black",shape="box"];2989 -> 3067[label="",style="solid", color="black", weight=3]; 102.84/63.25 2990[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];2990 -> 3068[label="",style="solid", color="black", weight=3]; 102.84/63.25 2991[label="primEqInt (Neg Zero) (Neg (Succ vuz17300))",fontsize=16,color="black",shape="box"];2991 -> 3069[label="",style="solid", color="black", weight=3]; 102.84/63.25 2992[label="primEqInt (Neg Zero) (Neg Zero)",fontsize=16,color="black",shape="box"];2992 -> 3070[label="",style="solid", color="black", weight=3]; 102.84/63.25 53[label="absReal1 (Integer vuz31) (not (compare (Integer vuz31) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];53 -> 59[label="",style="solid", color="black", weight=3]; 102.84/63.25 54[label="primQuotInt (primMulInt (fromInt vuz8) (signum (fromInt vuz9))) (reduce2D (primMulInt (fromInt vuz8) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];54 -> 60[label="",style="solid", color="black", weight=3]; 102.84/63.25 55[label="Integer vuz8 * signumReal (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signumReal (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];55 -> 61[label="",style="solid", color="black", weight=3]; 102.84/63.25 56[label="primQuotInt (absReal (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal (fromInt vuz9)))",fontsize=16,color="black",shape="box"];56 -> 62[label="",style="solid", color="black", weight=3]; 102.84/63.25 57[label="absReal2 (fromInt vuz9) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal2 (fromInt vuz9))",fontsize=16,color="black",shape="box"];57 -> 63[label="",style="solid", color="black", weight=3]; 102.84/63.25 2900[label="Pos Zero",fontsize=16,color="green",shape="box"];2901[label="absReal1 vuz158 (not (compare vuz158 vuz174 == LT))",fontsize=16,color="black",shape="box"];2901 -> 2963[label="",style="solid", color="black", weight=3]; 102.84/63.25 3059[label="primEqNat vuz17000 vuz17300",fontsize=16,color="burlywood",shape="triangle"];8273[label="vuz17000/Succ vuz170000",fontsize=10,color="white",style="solid",shape="box"];3059 -> 8273[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8273 -> 3106[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8274[label="vuz17000/Zero",fontsize=10,color="white",style="solid",shape="box"];3059 -> 8274[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8274 -> 3107[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3060[label="False",fontsize=16,color="green",shape="box"];3061[label="False",fontsize=16,color="green",shape="box"];3062[label="True",fontsize=16,color="green",shape="box"];3063[label="False",fontsize=16,color="green",shape="box"];3064[label="True",fontsize=16,color="green",shape="box"];3065 -> 3059[label="",style="dashed", color="red", weight=0]; 102.84/63.25 3065[label="primEqNat vuz17000 vuz17300",fontsize=16,color="magenta"];3065 -> 3108[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3065 -> 3109[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3066[label="False",fontsize=16,color="green",shape="box"];3067[label="False",fontsize=16,color="green",shape="box"];3068[label="True",fontsize=16,color="green",shape="box"];3069[label="False",fontsize=16,color="green",shape="box"];3070[label="True",fontsize=16,color="green",shape="box"];59[label="absReal1 (Integer vuz31) (not (primCmpInt vuz31 (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8275[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];59 -> 8275[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8275 -> 66[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8276[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];59 -> 8276[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8276 -> 67[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 60[label="primQuotInt (primMulInt vuz8 (signum (fromInt vuz9))) (reduce2D (primMulInt vuz8 (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="burlywood",shape="box"];8277[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];60 -> 8277[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8277 -> 68[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8278[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];60 -> 8278[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8278 -> 69[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 61[label="Integer vuz8 * signumReal3 (fromInt vuz9) `quot` reduce2D (Integer vuz8 * signumReal3 (fromInt vuz9)) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];61 -> 70[label="",style="solid", color="black", weight=3]; 102.84/63.25 62[label="primQuotInt (absReal2 (fromInt vuz9)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal2 (fromInt vuz9)))",fontsize=16,color="black",shape="box"];62 -> 71[label="",style="solid", color="black", weight=3]; 102.84/63.25 63[label="absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero)) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];63 -> 72[label="",style="solid", color="black", weight=3]; 102.84/63.25 2963[label="absReal1 vuz158 (not (primCmpInt vuz158 vuz174 == LT))",fontsize=16,color="burlywood",shape="triangle"];8279[label="vuz158/Pos vuz1580",fontsize=10,color="white",style="solid",shape="box"];2963 -> 8279[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8279 -> 2993[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8280[label="vuz158/Neg vuz1580",fontsize=10,color="white",style="solid",shape="box"];2963 -> 8280[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8280 -> 2994[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3106[label="primEqNat (Succ vuz170000) vuz17300",fontsize=16,color="burlywood",shape="box"];8281[label="vuz17300/Succ vuz173000",fontsize=10,color="white",style="solid",shape="box"];3106 -> 8281[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8281 -> 3153[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8282[label="vuz17300/Zero",fontsize=10,color="white",style="solid",shape="box"];3106 -> 8282[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8282 -> 3154[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3107[label="primEqNat Zero vuz17300",fontsize=16,color="burlywood",shape="box"];8283[label="vuz17300/Succ vuz173000",fontsize=10,color="white",style="solid",shape="box"];3107 -> 8283[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8283 -> 3155[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8284[label="vuz17300/Zero",fontsize=10,color="white",style="solid",shape="box"];3107 -> 8284[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8284 -> 3156[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3108[label="vuz17000",fontsize=16,color="green",shape="box"];3109[label="vuz17300",fontsize=16,color="green",shape="box"];66[label="absReal1 (Integer (Pos vuz310)) (not (primCmpInt (Pos vuz310) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8285[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];66 -> 8285[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8285 -> 77[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8286[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];66 -> 8286[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8286 -> 78[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 67[label="absReal1 (Integer (Neg vuz310)) (not (primCmpInt (Neg vuz310) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];8287[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];67 -> 8287[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8287 -> 79[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8288[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];67 -> 8288[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8288 -> 80[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 68[label="primQuotInt (primMulInt (Pos vuz80) (signum (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];68 -> 81[label="",style="solid", color="black", weight=3]; 102.84/63.25 69[label="primQuotInt (primMulInt (Neg vuz80) (signum (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signum (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];69 -> 82[label="",style="solid", color="black", weight=3]; 102.84/63.25 70[label="Integer vuz8 * signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero))) (abs (fromInt vuz9))",fontsize=16,color="black",shape="box"];70 -> 83[label="",style="solid", color="black", weight=3]; 102.84/63.25 71[label="primQuotInt (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (fromInt vuz9 >= fromInt (Pos Zero))))",fontsize=16,color="black",shape="box"];71 -> 84[label="",style="solid", color="black", weight=3]; 102.84/63.25 72[label="absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];72 -> 85[label="",style="solid", color="black", weight=3]; 102.84/63.25 2993[label="absReal1 (Pos vuz1580) (not (primCmpInt (Pos vuz1580) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8289[label="vuz1580/Succ vuz15800",fontsize=10,color="white",style="solid",shape="box"];2993 -> 8289[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8289 -> 3071[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8290[label="vuz1580/Zero",fontsize=10,color="white",style="solid",shape="box"];2993 -> 8290[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8290 -> 3072[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 2994[label="absReal1 (Neg vuz1580) (not (primCmpInt (Neg vuz1580) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8291[label="vuz1580/Succ vuz15800",fontsize=10,color="white",style="solid",shape="box"];2994 -> 8291[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8291 -> 3073[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8292[label="vuz1580/Zero",fontsize=10,color="white",style="solid",shape="box"];2994 -> 8292[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8292 -> 3074[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3153[label="primEqNat (Succ vuz170000) (Succ vuz173000)",fontsize=16,color="black",shape="box"];3153 -> 3173[label="",style="solid", color="black", weight=3]; 102.84/63.25 3154[label="primEqNat (Succ vuz170000) Zero",fontsize=16,color="black",shape="box"];3154 -> 3174[label="",style="solid", color="black", weight=3]; 102.84/63.25 3155[label="primEqNat Zero (Succ vuz173000)",fontsize=16,color="black",shape="box"];3155 -> 3175[label="",style="solid", color="black", weight=3]; 102.84/63.25 3156[label="primEqNat Zero Zero",fontsize=16,color="black",shape="box"];3156 -> 3176[label="",style="solid", color="black", weight=3]; 102.84/63.25 77[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (primCmpInt (Pos (Succ vuz3100)) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];77 -> 90[label="",style="solid", color="black", weight=3]; 102.84/63.25 78[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];78 -> 91[label="",style="solid", color="black", weight=3]; 102.84/63.25 79[label="absReal1 (Integer (Neg (Succ vuz3100))) (not (primCmpInt (Neg (Succ vuz3100)) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];79 -> 92[label="",style="solid", color="black", weight=3]; 102.84/63.25 80[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];80 -> 93[label="",style="solid", color="black", weight=3]; 102.84/63.25 81[label="primQuotInt (primMulInt (Pos vuz80) (signumReal (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signumReal (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];81 -> 94[label="",style="solid", color="black", weight=3]; 102.84/63.25 82[label="primQuotInt (primMulInt (Neg vuz80) (signumReal (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signumReal (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];82 -> 95[label="",style="solid", color="black", weight=3]; 102.84/63.25 83[label="Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == fromInt (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="black",shape="box"];83 -> 96[label="",style="solid", color="black", weight=3]; 102.84/63.25 84[label="primQuotInt (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT)) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (compare (fromInt vuz9) (fromInt (Pos Zero)) /= LT)))",fontsize=16,color="black",shape="box"];84 -> 97[label="",style="solid", color="black", weight=3]; 102.84/63.25 85[label="absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];85 -> 98[label="",style="solid", color="black", weight=3]; 102.84/63.25 3071[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8293[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3071 -> 8293[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8293 -> 3110[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8294[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3071 -> 8294[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8294 -> 3111[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3072[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8295[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3072 -> 8295[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8295 -> 3112[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8296[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3072 -> 8296[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8296 -> 3113[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3073[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8297[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3073 -> 8297[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8297 -> 3114[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8298[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3073 -> 8298[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8298 -> 3115[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3074[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) vuz174 == LT))",fontsize=16,color="burlywood",shape="box"];8299[label="vuz174/Pos vuz1740",fontsize=10,color="white",style="solid",shape="box"];3074 -> 8299[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8299 -> 3116[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8300[label="vuz174/Neg vuz1740",fontsize=10,color="white",style="solid",shape="box"];3074 -> 8300[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8300 -> 3117[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3173 -> 3059[label="",style="dashed", color="red", weight=0]; 102.84/63.25 3173[label="primEqNat vuz170000 vuz173000",fontsize=16,color="magenta"];3173 -> 3218[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3173 -> 3219[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3174[label="False",fontsize=16,color="green",shape="box"];3175[label="False",fontsize=16,color="green",shape="box"];3176[label="True",fontsize=16,color="green",shape="box"];90[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (primCmpNat (Succ vuz3100) Zero == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];90 -> 103[label="",style="solid", color="black", weight=3]; 102.84/63.25 91[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];91 -> 104[label="",style="solid", color="black", weight=3]; 102.84/63.25 92[label="absReal1 (Integer (Neg (Succ vuz3100))) (not (LT == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];92 -> 105[label="",style="solid", color="black", weight=3]; 102.84/63.25 93[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];93 -> 106[label="",style="solid", color="black", weight=3]; 102.84/63.25 94[label="primQuotInt (primMulInt (Pos vuz80) (signumReal3 (fromInt vuz9))) (reduce2D (primMulInt (Pos vuz80) (signumReal3 (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];94 -> 107[label="",style="solid", color="black", weight=3]; 102.84/63.25 95[label="primQuotInt (primMulInt (Neg vuz80) (signumReal3 (fromInt vuz9))) (reduce2D (primMulInt (Neg vuz80) (signumReal3 (fromInt vuz9))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];95 -> 108[label="",style="solid", color="black", weight=3]; 102.84/63.25 96[label="Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == Integer (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (Integer vuz9 == Integer (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="black",shape="box"];96 -> 109[label="",style="solid", color="black", weight=3]; 102.84/63.25 97[label="primQuotInt (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (compare (fromInt vuz9) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];97 -> 110[label="",style="solid", color="black", weight=3]; 102.84/63.25 98[label="absReal1 (Integer vuz9) (not (compare (Integer vuz9) (fromInt (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (compare (Integer vuz9) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];98 -> 111[label="",style="solid", color="black", weight=3]; 102.84/63.25 3110[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) (Pos vuz1740) == LT))",fontsize=16,color="black",shape="box"];3110 -> 3157[label="",style="solid", color="black", weight=3]; 102.84/63.25 3111[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpInt (Pos (Succ vuz15800)) (Neg vuz1740) == LT))",fontsize=16,color="black",shape="box"];3111 -> 3158[label="",style="solid", color="black", weight=3]; 102.84/63.25 3112[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8301[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3112 -> 8301[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8301 -> 3159[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8302[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3112 -> 8302[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8302 -> 3160[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3113[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8303[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3113 -> 8303[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8303 -> 3161[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8304[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3113 -> 8304[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8304 -> 3162[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3114[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) (Pos vuz1740) == LT))",fontsize=16,color="black",shape="box"];3114 -> 3163[label="",style="solid", color="black", weight=3]; 102.84/63.25 3115[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpInt (Neg (Succ vuz15800)) (Neg vuz1740) == LT))",fontsize=16,color="black",shape="box"];3115 -> 3164[label="",style="solid", color="black", weight=3]; 102.84/63.25 3116[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8305[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3116 -> 8305[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8305 -> 3165[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8306[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3116 -> 8306[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8306 -> 3166[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3117[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg vuz1740) == LT))",fontsize=16,color="burlywood",shape="box"];8307[label="vuz1740/Succ vuz17400",fontsize=10,color="white",style="solid",shape="box"];3117 -> 8307[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8307 -> 3167[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8308[label="vuz1740/Zero",fontsize=10,color="white",style="solid",shape="box"];3117 -> 8308[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8308 -> 3168[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3218[label="vuz170000",fontsize=16,color="green",shape="box"];3219[label="vuz173000",fontsize=16,color="green",shape="box"];103[label="absReal1 (Integer (Pos (Succ vuz3100))) (not (GT == LT)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];103 -> 116[label="",style="solid", color="black", weight=3]; 102.84/63.25 104[label="absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];104 -> 117[label="",style="solid", color="black", weight=3]; 102.84/63.25 105[label="absReal1 (Integer (Neg (Succ vuz3100))) (not True) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];105 -> 118[label="",style="solid", color="black", weight=3]; 102.84/63.25 106[label="absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];106 -> 119[label="",style="solid", color="black", weight=3]; 102.84/63.25 107[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];107 -> 120[label="",style="solid", color="black", weight=3]; 102.84/63.25 108[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (fromInt vuz9 == fromInt (Pos Zero)))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];108 -> 121[label="",style="solid", color="black", weight=3]; 102.84/63.25 109[label="Integer vuz8 * signumReal2 (Integer vuz9) (primEqInt vuz9 (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer vuz9) (primEqInt vuz9 (Pos Zero))) (abs (Integer vuz9))",fontsize=16,color="burlywood",shape="box"];8309[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];109 -> 8309[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8309 -> 122[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8310[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];109 -> 8310[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8310 -> 123[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 110[label="primQuotInt (absReal1 (fromInt vuz9) (not (primCmpInt (fromInt vuz9) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (fromInt vuz9)) (absReal1 (fromInt vuz9) (not (primCmpInt (fromInt vuz9) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];110 -> 124[label="",style="solid", color="black", weight=3]; 102.84/63.25 111[label="absReal1 (Integer vuz9) (not (compare (Integer vuz9) (Integer (Pos Zero)) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (compare (Integer vuz9) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];111 -> 125[label="",style="solid", color="black", weight=3]; 102.84/63.25 3157 -> 4585[label="",style="dashed", color="red", weight=0]; 102.84/63.25 3157[label="absReal1 (Pos (Succ vuz15800)) (not (primCmpNat (Succ vuz15800) vuz1740 == LT))",fontsize=16,color="magenta"];3157 -> 4586[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3157 -> 4587[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3157 -> 4588[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3158[label="absReal1 (Pos (Succ vuz15800)) (not (GT == LT))",fontsize=16,color="black",shape="triangle"];3158 -> 3179[label="",style="solid", color="black", weight=3]; 102.84/63.25 3159[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3159 -> 3180[label="",style="solid", color="black", weight=3]; 102.84/63.25 3160[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3160 -> 3181[label="",style="solid", color="black", weight=3]; 102.84/63.25 3161[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3161 -> 3182[label="",style="solid", color="black", weight=3]; 102.84/63.25 3162[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];3162 -> 3183[label="",style="solid", color="black", weight=3]; 102.84/63.25 3163[label="absReal1 (Neg (Succ vuz15800)) (not (LT == LT))",fontsize=16,color="black",shape="triangle"];3163 -> 3184[label="",style="solid", color="black", weight=3]; 102.84/63.25 3164 -> 4618[label="",style="dashed", color="red", weight=0]; 102.84/63.25 3164[label="absReal1 (Neg (Succ vuz15800)) (not (primCmpNat vuz1740 (Succ vuz15800) == LT))",fontsize=16,color="magenta"];3164 -> 4619[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3164 -> 4620[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3164 -> 4621[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 3165[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3165 -> 3187[label="",style="solid", color="black", weight=3]; 102.84/63.25 3166[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];3166 -> 3188[label="",style="solid", color="black", weight=3]; 102.84/63.25 3167[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg (Succ vuz17400)) == LT))",fontsize=16,color="black",shape="box"];3167 -> 3189[label="",style="solid", color="black", weight=3]; 102.84/63.25 3168[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Neg Zero) == LT))",fontsize=16,color="black",shape="box"];3168 -> 3190[label="",style="solid", color="black", weight=3]; 102.84/63.25 116[label="absReal1 (Integer (Pos (Succ vuz3100))) (not False) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];116 -> 130[label="",style="solid", color="black", weight=3]; 102.84/63.25 117[label="absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];117 -> 131[label="",style="solid", color="black", weight=3]; 102.84/63.25 118[label="absReal1 (Integer (Neg (Succ vuz3100))) False == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];118 -> 132[label="",style="solid", color="black", weight=3]; 102.84/63.25 119[label="absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];119 -> 133[label="",style="solid", color="black", weight=3]; 102.84/63.25 120[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];120 -> 134[label="",style="solid", color="black", weight=3]; 102.84/63.25 121[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (fromInt vuz9) (primEqInt (fromInt vuz9) (fromInt (Pos Zero))))) (abs (fromInt vuz9)))",fontsize=16,color="black",shape="box"];121 -> 135[label="",style="solid", color="black", weight=3]; 102.84/63.25 122[label="Integer vuz8 * signumReal2 (Integer (Pos vuz90)) (primEqInt (Pos vuz90) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos vuz90)) (primEqInt (Pos vuz90) (Pos Zero))) (abs (Integer (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8311[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];122 -> 8311[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8311 -> 136[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8312[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];122 -> 8312[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8312 -> 137[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 123[label="Integer vuz8 * signumReal2 (Integer (Neg vuz90)) (primEqInt (Neg vuz90) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg vuz90)) (primEqInt (Neg vuz90) (Pos Zero))) (abs (Integer (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8313[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];123 -> 8313[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8313 -> 138[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8314[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];123 -> 8314[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8314 -> 139[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 124[label="primQuotInt (absReal1 vuz9 (not (primCmpInt vuz9 (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum vuz9) (absReal1 vuz9 (not (primCmpInt vuz9 (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8315[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];124 -> 8315[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8315 -> 140[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8316[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];124 -> 8316[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8316 -> 141[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 125[label="absReal1 (Integer vuz9) (not (primCmpInt vuz9 (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer vuz9)) (absReal1 (Integer vuz9) (not (primCmpInt vuz9 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8317[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];125 -> 8317[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8317 -> 142[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8318[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];125 -> 8318[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8318 -> 143[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 4586[label="vuz1740",fontsize=16,color="green",shape="box"];4587[label="Succ vuz15800",fontsize=16,color="green",shape="box"];4588[label="vuz15800",fontsize=16,color="green",shape="box"];4585[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat vuz288 vuz289 == LT))",fontsize=16,color="burlywood",shape="triangle"];8319[label="vuz288/Succ vuz2880",fontsize=10,color="white",style="solid",shape="box"];4585 -> 8319[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8319 -> 4616[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8320[label="vuz288/Zero",fontsize=10,color="white",style="solid",shape="box"];4585 -> 8320[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8320 -> 4617[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3179[label="absReal1 (Pos (Succ vuz15800)) (not False)",fontsize=16,color="black",shape="triangle"];3179 -> 3222[label="",style="solid", color="black", weight=3]; 102.84/63.25 3180[label="absReal1 (Pos Zero) (not (primCmpNat Zero (Succ vuz17400) == LT))",fontsize=16,color="black",shape="box"];3180 -> 3223[label="",style="solid", color="black", weight=3]; 102.84/63.25 3181[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];3181 -> 3224[label="",style="solid", color="black", weight=3]; 102.84/63.25 3182[label="absReal1 (Pos Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];3182 -> 3225[label="",style="solid", color="black", weight=3]; 102.84/63.25 3183 -> 3181[label="",style="dashed", color="red", weight=0]; 102.84/63.25 3183[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="magenta"];3184[label="absReal1 (Neg (Succ vuz15800)) (not True)",fontsize=16,color="black",shape="box"];3184 -> 3226[label="",style="solid", color="black", weight=3]; 102.84/63.25 4619[label="Succ vuz15800",fontsize=16,color="green",shape="box"];4620[label="vuz1740",fontsize=16,color="green",shape="box"];4621[label="vuz15800",fontsize=16,color="green",shape="box"];4618[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat vuz292 vuz293 == LT))",fontsize=16,color="burlywood",shape="triangle"];8321[label="vuz292/Succ vuz2920",fontsize=10,color="white",style="solid",shape="box"];4618 -> 8321[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8321 -> 4649[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8322[label="vuz292/Zero",fontsize=10,color="white",style="solid",shape="box"];4618 -> 8322[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8322 -> 4650[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3187[label="absReal1 (Neg Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];3187 -> 3229[label="",style="solid", color="black", weight=3]; 102.84/63.25 3188[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="triangle"];3188 -> 3230[label="",style="solid", color="black", weight=3]; 102.84/63.25 3189[label="absReal1 (Neg Zero) (not (primCmpNat (Succ vuz17400) Zero == LT))",fontsize=16,color="black",shape="box"];3189 -> 3231[label="",style="solid", color="black", weight=3]; 102.84/63.25 3190 -> 3188[label="",style="dashed", color="red", weight=0]; 102.84/63.25 3190[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="magenta"];130[label="absReal1 (Integer (Pos (Succ vuz3100))) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];130 -> 148[label="",style="solid", color="black", weight=3]; 102.84/63.25 131[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];131 -> 149[label="",style="solid", color="black", weight=3]; 102.84/63.25 132[label="absReal0 (Integer (Neg (Succ vuz3100))) otherwise == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];132 -> 150[label="",style="solid", color="black", weight=3]; 102.84/63.25 133[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];133 -> 151[label="",style="solid", color="black", weight=3]; 102.84/63.25 134[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (abs vuz9))",fontsize=16,color="burlywood",shape="box"];8323[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];134 -> 8323[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8323 -> 152[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8324[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];134 -> 8324[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8324 -> 153[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 135[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 vuz9 (primEqInt vuz9 (fromInt (Pos Zero))))) (abs vuz9))",fontsize=16,color="burlywood",shape="box"];8325[label="vuz9/Pos vuz90",fontsize=10,color="white",style="solid",shape="box"];135 -> 8325[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8325 -> 154[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8326[label="vuz9/Neg vuz90",fontsize=10,color="white",style="solid",shape="box"];135 -> 8326[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8326 -> 155[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 136[label="Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (primEqInt (Pos (Succ vuz900)) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (primEqInt (Pos (Succ vuz900)) (Pos Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];136 -> 156[label="",style="solid", color="black", weight=3]; 102.84/63.25 137[label="Integer vuz8 * signumReal2 (Integer (Pos Zero)) (primEqInt (Pos Zero) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (primEqInt (Pos Zero) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];137 -> 157[label="",style="solid", color="black", weight=3]; 102.84/63.25 138[label="Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];138 -> 158[label="",style="solid", color="black", weight=3]; 102.84/63.25 139[label="Integer vuz8 * signumReal2 (Integer (Neg Zero)) (primEqInt (Neg Zero) (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (primEqInt (Neg Zero) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];139 -> 159[label="",style="solid", color="black", weight=3]; 102.84/63.25 140[label="primQuotInt (absReal1 (Pos vuz90) (not (primCmpInt (Pos vuz90) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos vuz90)) (absReal1 (Pos vuz90) (not (primCmpInt (Pos vuz90) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8327[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];140 -> 8327[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8327 -> 160[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8328[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];140 -> 8328[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8328 -> 161[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 141[label="primQuotInt (absReal1 (Neg vuz90) (not (primCmpInt (Neg vuz90) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg vuz90)) (absReal1 (Neg vuz90) (not (primCmpInt (Neg vuz90) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="burlywood",shape="box"];8329[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];141 -> 8329[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8329 -> 162[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8330[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];141 -> 8330[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8330 -> 163[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 142[label="absReal1 (Integer (Pos vuz90)) (not (primCmpInt (Pos vuz90) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos vuz90))) (absReal1 (Integer (Pos vuz90)) (not (primCmpInt (Pos vuz90) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8331[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];142 -> 8331[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8331 -> 164[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8332[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];142 -> 8332[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8332 -> 165[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 143[label="absReal1 (Integer (Neg vuz90)) (not (primCmpInt (Neg vuz90) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg vuz90))) (absReal1 (Integer (Neg vuz90)) (not (primCmpInt (Neg vuz90) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8333[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];143 -> 8333[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8333 -> 166[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8334[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];143 -> 8334[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8334 -> 167[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 4616[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) vuz289 == LT))",fontsize=16,color="burlywood",shape="box"];8335[label="vuz289/Succ vuz2890",fontsize=10,color="white",style="solid",shape="box"];4616 -> 8335[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8335 -> 4651[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8336[label="vuz289/Zero",fontsize=10,color="white",style="solid",shape="box"];4616 -> 8336[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8336 -> 4652[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 4617[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero vuz289 == LT))",fontsize=16,color="burlywood",shape="box"];8337[label="vuz289/Succ vuz2890",fontsize=10,color="white",style="solid",shape="box"];4617 -> 8337[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8337 -> 4653[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8338[label="vuz289/Zero",fontsize=10,color="white",style="solid",shape="box"];4617 -> 8338[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8338 -> 4654[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3222[label="absReal1 (Pos (Succ vuz15800)) True",fontsize=16,color="black",shape="box"];3222 -> 3250[label="",style="solid", color="black", weight=3]; 102.84/63.25 3223[label="absReal1 (Pos Zero) (not (LT == LT))",fontsize=16,color="black",shape="box"];3223 -> 3251[label="",style="solid", color="black", weight=3]; 102.84/63.25 3224[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="triangle"];3224 -> 3252[label="",style="solid", color="black", weight=3]; 102.84/63.25 3225 -> 3224[label="",style="dashed", color="red", weight=0]; 102.84/63.25 3225[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="magenta"];3226[label="absReal1 (Neg (Succ vuz15800)) False",fontsize=16,color="black",shape="box"];3226 -> 3253[label="",style="solid", color="black", weight=3]; 102.84/63.25 4649[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) vuz293 == LT))",fontsize=16,color="burlywood",shape="box"];8339[label="vuz293/Succ vuz2930",fontsize=10,color="white",style="solid",shape="box"];4649 -> 8339[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8339 -> 4674[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8340[label="vuz293/Zero",fontsize=10,color="white",style="solid",shape="box"];4649 -> 8340[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8340 -> 4675[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 4650[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero vuz293 == LT))",fontsize=16,color="burlywood",shape="box"];8341[label="vuz293/Succ vuz2930",fontsize=10,color="white",style="solid",shape="box"];4650 -> 8341[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8341 -> 4676[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8342[label="vuz293/Zero",fontsize=10,color="white",style="solid",shape="box"];4650 -> 8342[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8342 -> 4677[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 3229[label="absReal1 (Neg Zero) (not True)",fontsize=16,color="black",shape="box"];3229 -> 3256[label="",style="solid", color="black", weight=3]; 102.84/63.25 3230[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="triangle"];3230 -> 3257[label="",style="solid", color="black", weight=3]; 102.84/63.25 3231[label="absReal1 (Neg Zero) (not (GT == LT))",fontsize=16,color="black",shape="box"];3231 -> 3258[label="",style="solid", color="black", weight=3]; 102.84/63.25 148[label="Integer (Pos (Succ vuz3100)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];148 -> 172[label="",style="solid", color="black", weight=3]; 102.84/63.25 149[label="Integer (Pos Zero) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];149 -> 173[label="",style="solid", color="black", weight=3]; 102.84/63.25 150[label="absReal0 (Integer (Neg (Succ vuz3100))) True == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];150 -> 174[label="",style="solid", color="black", weight=3]; 102.84/63.25 151[label="Integer (Neg Zero) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];151 -> 175[label="",style="solid", color="black", weight=3]; 102.84/63.25 152[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (abs (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8343[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];152 -> 8343[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8343 -> 176[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8344[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];152 -> 8344[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8344 -> 177[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 153[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (abs (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8345[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];153 -> 8345[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8345 -> 178[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8346[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];153 -> 8346[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8346 -> 179[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 154[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos vuz90) (primEqInt (Pos vuz90) (fromInt (Pos Zero))))) (abs (Pos vuz90)))",fontsize=16,color="burlywood",shape="box"];8347[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];154 -> 8347[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8347 -> 180[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8348[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];154 -> 8348[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8348 -> 181[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 155[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg vuz90) (primEqInt (Neg vuz90) (fromInt (Pos Zero))))) (abs (Neg vuz90)))",fontsize=16,color="burlywood",shape="box"];8349[label="vuz90/Succ vuz900",fontsize=10,color="white",style="solid",shape="box"];155 -> 8349[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8349 -> 182[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 8350[label="vuz90/Zero",fontsize=10,color="white",style="solid",shape="box"];155 -> 8350[label="",style="solid", color="burlywood", weight=9]; 102.84/63.25 8350 -> 183[label="",style="solid", color="burlywood", weight=3]; 102.84/63.25 156[label="Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];156 -> 184[label="",style="solid", color="black", weight=3]; 102.84/63.25 157[label="Integer vuz8 * signumReal2 (Integer (Pos Zero)) True `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Pos Zero)) True) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];157 -> 185[label="",style="solid", color="black", weight=3]; 102.84/63.25 158[label="Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];158 -> 186[label="",style="solid", color="black", weight=3]; 102.84/63.25 159[label="Integer vuz8 * signumReal2 (Integer (Neg Zero)) True `quot` reduce2D (Integer vuz8 * signumReal2 (Integer (Neg Zero)) True) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];159 -> 187[label="",style="solid", color="black", weight=3]; 102.84/63.25 160[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];160 -> 188[label="",style="solid", color="black", weight=3]; 102.84/63.25 161[label="primQuotInt (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];161 -> 189[label="",style="solid", color="black", weight=3]; 102.84/63.25 162[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];162 -> 190[label="",style="solid", color="black", weight=3]; 102.84/63.25 163[label="primQuotInt (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];163 -> 191[label="",style="solid", color="black", weight=3]; 102.84/63.25 164[label="absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];164 -> 192[label="",style="solid", color="black", weight=3]; 102.84/63.25 165[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];165 -> 193[label="",style="solid", color="black", weight=3]; 102.84/63.25 166[label="absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];166 -> 194[label="",style="solid", color="black", weight=3]; 102.84/63.25 167[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];167 -> 195[label="",style="solid", color="black", weight=3]; 102.84/63.25 4651[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) (Succ vuz2890) == LT))",fontsize=16,color="black",shape="box"];4651 -> 4678[label="",style="solid", color="black", weight=3]; 102.84/63.25 4652[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat (Succ vuz2880) Zero == LT))",fontsize=16,color="black",shape="box"];4652 -> 4679[label="",style="solid", color="black", weight=3]; 102.84/63.25 4653[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero (Succ vuz2890) == LT))",fontsize=16,color="black",shape="box"];4653 -> 4680[label="",style="solid", color="black", weight=3]; 102.84/63.25 4654[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];4654 -> 4681[label="",style="solid", color="black", weight=3]; 102.84/63.25 3250[label="Pos (Succ vuz15800)",fontsize=16,color="green",shape="box"];3251[label="absReal1 (Pos Zero) (not True)",fontsize=16,color="black",shape="box"];3251 -> 3267[label="",style="solid", color="black", weight=3]; 102.84/63.25 3252[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];3252 -> 3268[label="",style="solid", color="black", weight=3]; 102.84/63.25 3253[label="absReal0 (Neg (Succ vuz15800)) otherwise",fontsize=16,color="black",shape="box"];3253 -> 3269[label="",style="solid", color="black", weight=3]; 102.84/63.25 4674[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) (Succ vuz2930) == LT))",fontsize=16,color="black",shape="box"];4674 -> 4695[label="",style="solid", color="black", weight=3]; 102.84/63.25 4675[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat (Succ vuz2920) Zero == LT))",fontsize=16,color="black",shape="box"];4675 -> 4696[label="",style="solid", color="black", weight=3]; 102.84/63.25 4676[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero (Succ vuz2930) == LT))",fontsize=16,color="black",shape="box"];4676 -> 4697[label="",style="solid", color="black", weight=3]; 102.84/63.25 4677[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat Zero Zero == LT))",fontsize=16,color="black",shape="box"];4677 -> 4698[label="",style="solid", color="black", weight=3]; 102.84/63.25 3256[label="absReal1 (Neg Zero) False",fontsize=16,color="black",shape="box"];3256 -> 3274[label="",style="solid", color="black", weight=3]; 102.84/63.25 3257[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];3257 -> 3275[label="",style="solid", color="black", weight=3]; 102.84/63.25 3258 -> 3230[label="",style="dashed", color="red", weight=0]; 102.84/63.25 3258[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="magenta"];172[label="Integer (Pos (Succ vuz3100)) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];172 -> 200[label="",style="solid", color="black", weight=3]; 102.84/63.25 173 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.25 173[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];173 -> 2649[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 173 -> 2650[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 174[label="`negate` Integer (Neg (Succ vuz3100)) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 201[label="",style="solid", color="black", weight=3]; 102.84/63.25 175 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.25 175[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];175 -> 2651[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 175 -> 2652[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 176[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];176 -> 202[label="",style="solid", color="black", weight=3]; 102.84/63.25 177[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];177 -> 203[label="",style="solid", color="black", weight=3]; 102.84/63.25 178[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];178 -> 204[label="",style="solid", color="black", weight=3]; 102.84/63.25 179[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];179 -> 205[label="",style="solid", color="black", weight=3]; 102.84/63.25 180[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];180 -> 206[label="",style="solid", color="black", weight=3]; 102.84/63.25 181[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (fromInt (Pos Zero))))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];181 -> 207[label="",style="solid", color="black", weight=3]; 102.84/63.25 182[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (fromInt (Pos Zero))))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];182 -> 208[label="",style="solid", color="black", weight=3]; 102.84/63.25 183[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (fromInt (Pos Zero))))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];183 -> 209[label="",style="solid", color="black", weight=3]; 102.84/63.25 184[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];184 -> 210[label="",style="solid", color="black", weight=3]; 102.84/63.25 185[label="Integer vuz8 * fromInt (Pos Zero) `quot` reduce2D (Integer vuz8 * fromInt (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];185 -> 211[label="",style="solid", color="black", weight=3]; 102.84/63.25 186[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero)) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];186 -> 212[label="",style="solid", color="black", weight=3]; 102.84/63.25 187[label="Integer vuz8 * fromInt (Pos Zero) `quot` reduce2D (Integer vuz8 * fromInt (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];187 -> 213[label="",style="solid", color="black", weight=3]; 102.84/63.25 188[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];188 -> 214[label="",style="solid", color="black", weight=3]; 102.84/63.25 189[label="primQuotInt (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];189 -> 215[label="",style="solid", color="black", weight=3]; 102.84/63.25 190[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];190 -> 216[label="",style="solid", color="black", weight=3]; 102.84/63.25 191[label="primQuotInt (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))))",fontsize=16,color="black",shape="box"];191 -> 217[label="",style="solid", color="black", weight=3]; 102.84/63.25 192[label="absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpNat (Succ vuz900) Zero == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (primCmpNat (Succ vuz900) Zero == LT)))",fontsize=16,color="black",shape="box"];192 -> 218[label="",style="solid", color="black", weight=3]; 102.84/63.25 193[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];193 -> 219[label="",style="solid", color="black", weight=3]; 102.84/63.25 194[label="absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];194 -> 220[label="",style="solid", color="black", weight=3]; 102.84/63.25 195[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];195 -> 221[label="",style="solid", color="black", weight=3]; 102.84/63.25 4678 -> 4585[label="",style="dashed", color="red", weight=0]; 102.84/63.25 4678[label="absReal1 (Pos (Succ vuz287)) (not (primCmpNat vuz2880 vuz2890 == LT))",fontsize=16,color="magenta"];4678 -> 4699[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 4678 -> 4700[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 4679 -> 3158[label="",style="dashed", color="red", weight=0]; 102.84/63.25 4679[label="absReal1 (Pos (Succ vuz287)) (not (GT == LT))",fontsize=16,color="magenta"];4679 -> 4701[label="",style="dashed", color="magenta", weight=3]; 102.84/63.25 4680[label="absReal1 (Pos (Succ vuz287)) (not (LT == LT))",fontsize=16,color="black",shape="box"];4680 -> 4702[label="",style="solid", color="black", weight=3]; 102.84/63.25 4681[label="absReal1 (Pos (Succ vuz287)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4681 -> 4703[label="",style="solid", color="black", weight=3]; 102.84/63.26 3267[label="absReal1 (Pos Zero) False",fontsize=16,color="black",shape="box"];3267 -> 3311[label="",style="solid", color="black", weight=3]; 102.84/63.26 3268[label="Pos Zero",fontsize=16,color="green",shape="box"];3269[label="absReal0 (Neg (Succ vuz15800)) True",fontsize=16,color="black",shape="box"];3269 -> 3312[label="",style="solid", color="black", weight=3]; 102.84/63.26 4695 -> 4618[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4695[label="absReal1 (Neg (Succ vuz291)) (not (primCmpNat vuz2920 vuz2930 == LT))",fontsize=16,color="magenta"];4695 -> 4751[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4695 -> 4752[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4696[label="absReal1 (Neg (Succ vuz291)) (not (GT == LT))",fontsize=16,color="black",shape="box"];4696 -> 4753[label="",style="solid", color="black", weight=3]; 102.84/63.26 4697 -> 3163[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4697[label="absReal1 (Neg (Succ vuz291)) (not (LT == LT))",fontsize=16,color="magenta"];4697 -> 4754[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4698[label="absReal1 (Neg (Succ vuz291)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];4698 -> 4755[label="",style="solid", color="black", weight=3]; 102.84/63.26 3274[label="absReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];3274 -> 3317[label="",style="solid", color="black", weight=3]; 102.84/63.26 3275[label="Neg Zero",fontsize=16,color="green",shape="box"];200 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 200[label="primEqInt (Pos (Succ vuz3100)) (Pos Zero)",fontsize=16,color="magenta"];200 -> 2653[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 200 -> 2654[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 2649[label="Pos Zero",fontsize=16,color="green",shape="box"];2650[label="Pos Zero",fontsize=16,color="green",shape="box"];201[label="Integer (primNegInt (Neg (Succ vuz3100))) == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];201 -> 224[label="",style="solid", color="black", weight=3]; 102.84/63.26 2651[label="Pos Zero",fontsize=16,color="green",shape="box"];2652[label="Neg Zero",fontsize=16,color="green",shape="box"];202 -> 225[label="",style="dashed", color="red", weight=0]; 102.84/63.26 202[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];202 -> 226[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 202 -> 227[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 203 -> 228[label="",style="dashed", color="red", weight=0]; 102.84/63.26 203[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="magenta"];203 -> 229[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 203 -> 230[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 204[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];204 -> 231[label="",style="solid", color="black", weight=3]; 102.84/63.26 205 -> 232[label="",style="dashed", color="red", weight=0]; 102.84/63.26 205[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="magenta"];205 -> 233[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 205 -> 234[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 206 -> 235[label="",style="dashed", color="red", weight=0]; 102.84/63.26 206[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) (primEqInt (Pos (Succ vuz900)) (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];206 -> 236[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 206 -> 237[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 207 -> 238[label="",style="dashed", color="red", weight=0]; 102.84/63.26 207[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) (primEqInt (Pos Zero) (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="magenta"];207 -> 239[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 207 -> 240[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 208[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) (primEqInt (Neg (Succ vuz900)) (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];208 -> 241[label="",style="solid", color="black", weight=3]; 102.84/63.26 209 -> 242[label="",style="dashed", color="red", weight=0]; 102.84/63.26 209[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) (primEqInt (Neg Zero) (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="magenta"];209 -> 243[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 209 -> 244[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 210[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];210 -> 245[label="",style="solid", color="black", weight=3]; 102.84/63.26 211[label="Integer vuz8 * Integer (Pos Zero) `quot` reduce2D (Integer vuz8 * Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];211 -> 246[label="",style="solid", color="black", weight=3]; 102.84/63.26 212[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];212 -> 247[label="",style="solid", color="black", weight=3]; 102.84/63.26 213[label="Integer vuz8 * Integer (Pos Zero) `quot` reduce2D (Integer vuz8 * Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];213 -> 248[label="",style="solid", color="black", weight=3]; 102.84/63.26 214[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (primCmpNat (Succ vuz900) Zero == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (primCmpNat (Succ vuz900) Zero == LT))))",fontsize=16,color="black",shape="box"];214 -> 249[label="",style="solid", color="black", weight=3]; 102.84/63.26 215[label="primQuotInt (absReal1 (Pos Zero) (not (EQ == LT))) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not (EQ == LT))))",fontsize=16,color="black",shape="box"];215 -> 250[label="",style="solid", color="black", weight=3]; 102.84/63.26 216[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not (LT == LT))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not (LT == LT))))",fontsize=16,color="black",shape="box"];216 -> 251[label="",style="solid", color="black", weight=3]; 102.84/63.26 217[label="primQuotInt (absReal1 (Neg Zero) (not (EQ == LT))) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not (EQ == LT))))",fontsize=16,color="black",shape="box"];217 -> 252[label="",style="solid", color="black", weight=3]; 102.84/63.26 218[label="absReal1 (Integer (Pos (Succ vuz900))) (not (GT == LT)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];218 -> 253[label="",style="solid", color="black", weight=3]; 102.84/63.26 219[label="absReal1 (Integer (Pos Zero)) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];219 -> 254[label="",style="solid", color="black", weight=3]; 102.84/63.26 220[label="absReal1 (Integer (Neg (Succ vuz900))) (not True) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) (not True))",fontsize=16,color="black",shape="box"];220 -> 255[label="",style="solid", color="black", weight=3]; 102.84/63.26 221[label="absReal1 (Integer (Neg Zero)) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];221 -> 256[label="",style="solid", color="black", weight=3]; 102.84/63.26 4699[label="vuz2890",fontsize=16,color="green",shape="box"];4700[label="vuz2880",fontsize=16,color="green",shape="box"];4701[label="vuz287",fontsize=16,color="green",shape="box"];4702[label="absReal1 (Pos (Succ vuz287)) (not True)",fontsize=16,color="black",shape="box"];4702 -> 4756[label="",style="solid", color="black", weight=3]; 102.84/63.26 4703 -> 3179[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4703[label="absReal1 (Pos (Succ vuz287)) (not False)",fontsize=16,color="magenta"];4703 -> 4757[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3311[label="absReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];3311 -> 3356[label="",style="solid", color="black", weight=3]; 102.84/63.26 3312[label="`negate` Neg (Succ vuz15800)",fontsize=16,color="black",shape="box"];3312 -> 3357[label="",style="solid", color="black", weight=3]; 102.84/63.26 4751[label="vuz2930",fontsize=16,color="green",shape="box"];4752[label="vuz2920",fontsize=16,color="green",shape="box"];4753[label="absReal1 (Neg (Succ vuz291)) (not False)",fontsize=16,color="black",shape="triangle"];4753 -> 4780[label="",style="solid", color="black", weight=3]; 102.84/63.26 4754[label="vuz291",fontsize=16,color="green",shape="box"];4755 -> 4753[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4755[label="absReal1 (Neg (Succ vuz291)) (not False)",fontsize=16,color="magenta"];3317[label="absReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];3317 -> 3363[label="",style="solid", color="black", weight=3]; 102.84/63.26 2653[label="Pos Zero",fontsize=16,color="green",shape="box"];2654[label="Pos (Succ vuz3100)",fontsize=16,color="green",shape="box"];224[label="Integer (primNegInt (Neg (Succ vuz3100))) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];224 -> 258[label="",style="solid", color="black", weight=3]; 102.84/63.26 226 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 226[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];226 -> 2661[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 226 -> 2662[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 227 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 227[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];227 -> 2663[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 227 -> 2664[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 225[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz11)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8351[label="vuz11/False",fontsize=10,color="white",style="solid",shape="box"];225 -> 8351[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8351 -> 261[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8352[label="vuz11/True",fontsize=10,color="white",style="solid",shape="box"];225 -> 8352[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8352 -> 262[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 229 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 229[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];229 -> 2665[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 229 -> 2666[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 230 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 230[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];230 -> 2667[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 230 -> 2668[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 228[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz13)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8353[label="vuz13/False",fontsize=10,color="white",style="solid",shape="box"];228 -> 8353[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8353 -> 263[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8354[label="vuz13/True",fontsize=10,color="white",style="solid",shape="box"];228 -> 8354[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8354 -> 264[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 231[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];231 -> 265[label="",style="solid", color="black", weight=3]; 102.84/63.26 233 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 233[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];233 -> 2669[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 233 -> 2670[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 234 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 234[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];234 -> 2671[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 234 -> 2672[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 232[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz15)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8355[label="vuz15/False",fontsize=10,color="white",style="solid",shape="box"];232 -> 8355[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8355 -> 266[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8356[label="vuz15/True",fontsize=10,color="white",style="solid",shape="box"];232 -> 8356[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8356 -> 267[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 236 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 236[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];236 -> 2673[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 236 -> 2674[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 237 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 237[label="primEqInt (Pos (Succ vuz900)) (Pos Zero)",fontsize=16,color="magenta"];237 -> 2675[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 237 -> 2676[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 235[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz17)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8357[label="vuz17/False",fontsize=10,color="white",style="solid",shape="box"];235 -> 8357[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8357 -> 270[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8358[label="vuz17/True",fontsize=10,color="white",style="solid",shape="box"];235 -> 8358[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8358 -> 271[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 239 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 239[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];239 -> 2677[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 239 -> 2678[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 240 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 240[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];240 -> 2679[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 240 -> 2680[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 238[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz19)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8359[label="vuz19/False",fontsize=10,color="white",style="solid",shape="box"];238 -> 8359[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8359 -> 272[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8360[label="vuz19/True",fontsize=10,color="white",style="solid",shape="box"];238 -> 8360[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8360 -> 273[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 241[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];241 -> 274[label="",style="solid", color="black", weight=3]; 102.84/63.26 243 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 243[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];243 -> 2681[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 243 -> 2682[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 244 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 244[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];244 -> 2683[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 244 -> 2684[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 242[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz21)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8361[label="vuz21/False",fontsize=10,color="white",style="solid",shape="box"];242 -> 8361[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8361 -> 275[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8362[label="vuz21/True",fontsize=10,color="white",style="solid",shape="box"];242 -> 8362[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8362 -> 276[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 245[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];245 -> 277[label="",style="solid", color="black", weight=3]; 102.84/63.26 246[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` reduce2D (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];246 -> 278[label="",style="solid", color="black", weight=3]; 102.84/63.26 247[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];247 -> 279[label="",style="solid", color="black", weight=3]; 102.84/63.26 248[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` reduce2D (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];248 -> 280[label="",style="solid", color="black", weight=3]; 102.84/63.26 249[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not (GT == LT))) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not (GT == LT))))",fontsize=16,color="black",shape="box"];249 -> 281[label="",style="solid", color="black", weight=3]; 102.84/63.26 250[label="primQuotInt (absReal1 (Pos Zero) (not False)) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) (not False)))",fontsize=16,color="black",shape="box"];250 -> 282[label="",style="solid", color="black", weight=3]; 102.84/63.26 251[label="primQuotInt (absReal1 (Neg (Succ vuz900)) (not True)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) (not True)))",fontsize=16,color="black",shape="box"];251 -> 283[label="",style="solid", color="black", weight=3]; 102.84/63.26 252[label="primQuotInt (absReal1 (Neg Zero) (not False)) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) (not False)))",fontsize=16,color="black",shape="box"];252 -> 284[label="",style="solid", color="black", weight=3]; 102.84/63.26 253[label="absReal1 (Integer (Pos (Succ vuz900))) (not False) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) (not False))",fontsize=16,color="black",shape="box"];253 -> 285[label="",style="solid", color="black", weight=3]; 102.84/63.26 254[label="absReal1 (Integer (Pos Zero)) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];254 -> 286[label="",style="solid", color="black", weight=3]; 102.84/63.26 255[label="absReal1 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal1 (Integer (Neg (Succ vuz900))) False)",fontsize=16,color="black",shape="box"];255 -> 287[label="",style="solid", color="black", weight=3]; 102.84/63.26 256[label="absReal1 (Integer (Neg Zero)) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];256 -> 288[label="",style="solid", color="black", weight=3]; 102.84/63.26 4756[label="absReal1 (Pos (Succ vuz287)) False",fontsize=16,color="black",shape="box"];4756 -> 4781[label="",style="solid", color="black", weight=3]; 102.84/63.26 4757[label="vuz287",fontsize=16,color="green",shape="box"];3356[label="absReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];3356 -> 3377[label="",style="solid", color="black", weight=3]; 102.84/63.26 3357 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3357[label="primNegInt (Neg (Succ vuz15800))",fontsize=16,color="magenta"];3357 -> 3378[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4780[label="absReal1 (Neg (Succ vuz291)) True",fontsize=16,color="black",shape="box"];4780 -> 4827[label="",style="solid", color="black", weight=3]; 102.84/63.26 3363[label="`negate` Neg Zero",fontsize=16,color="black",shape="box"];3363 -> 3384[label="",style="solid", color="black", weight=3]; 102.84/63.26 258 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 258[label="primEqInt (primNegInt (Neg (Succ vuz3100))) (Pos Zero)",fontsize=16,color="magenta"];258 -> 2685[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 258 -> 2686[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 2661[label="Pos Zero",fontsize=16,color="green",shape="box"];2662[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];2663[label="Pos Zero",fontsize=16,color="green",shape="box"];2664[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];261[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];261 -> 291[label="",style="solid", color="black", weight=3]; 102.84/63.26 262[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos (Succ vuz900)) vuz12)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];262 -> 292[label="",style="solid", color="black", weight=3]; 102.84/63.26 2665[label="Pos Zero",fontsize=16,color="green",shape="box"];2666[label="Pos Zero",fontsize=16,color="green",shape="box"];2667[label="Pos Zero",fontsize=16,color="green",shape="box"];2668[label="Pos Zero",fontsize=16,color="green",shape="box"];263[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];263 -> 293[label="",style="solid", color="black", weight=3]; 102.84/63.26 264[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Pos Zero) vuz14)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];264 -> 294[label="",style="solid", color="black", weight=3]; 102.84/63.26 265[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];265 -> 295[label="",style="solid", color="black", weight=3]; 102.84/63.26 2669[label="Pos Zero",fontsize=16,color="green",shape="box"];2670[label="Neg Zero",fontsize=16,color="green",shape="box"];2671[label="Pos Zero",fontsize=16,color="green",shape="box"];2672[label="Neg Zero",fontsize=16,color="green",shape="box"];266[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];266 -> 296[label="",style="solid", color="black", weight=3]; 102.84/63.26 267[label="primQuotInt (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal2 (Neg Zero) vuz16)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];267 -> 297[label="",style="solid", color="black", weight=3]; 102.84/63.26 2673[label="Pos Zero",fontsize=16,color="green",shape="box"];2674[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];2675[label="Pos Zero",fontsize=16,color="green",shape="box"];2676[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];270[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];270 -> 298[label="",style="solid", color="black", weight=3]; 102.84/63.26 271[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos (Succ vuz900)) vuz18)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];271 -> 299[label="",style="solid", color="black", weight=3]; 102.84/63.26 2677[label="Pos Zero",fontsize=16,color="green",shape="box"];2678[label="Pos Zero",fontsize=16,color="green",shape="box"];2679[label="Pos Zero",fontsize=16,color="green",shape="box"];2680[label="Pos Zero",fontsize=16,color="green",shape="box"];272[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];272 -> 300[label="",style="solid", color="black", weight=3]; 102.84/63.26 273[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Pos Zero) vuz20)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];273 -> 301[label="",style="solid", color="black", weight=3]; 102.84/63.26 274[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];274 -> 302[label="",style="solid", color="black", weight=3]; 102.84/63.26 2681[label="Pos Zero",fontsize=16,color="green",shape="box"];2682[label="Neg Zero",fontsize=16,color="green",shape="box"];2683[label="Pos Zero",fontsize=16,color="green",shape="box"];2684[label="Neg Zero",fontsize=16,color="green",shape="box"];275[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];275 -> 303[label="",style="solid", color="black", weight=3]; 102.84/63.26 276[label="primQuotInt (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal2 (Neg Zero) vuz22)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];276 -> 304[label="",style="solid", color="black", weight=3]; 102.84/63.26 277[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];277 -> 305[label="",style="solid", color="black", weight=3]; 102.84/63.26 278[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];278 -> 306[label="",style="solid", color="black", weight=3]; 102.84/63.26 279[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];279 -> 307[label="",style="solid", color="black", weight=3]; 102.84/63.26 280[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];280 -> 308[label="",style="solid", color="black", weight=3]; 102.84/63.26 281[label="primQuotInt (absReal1 (Pos (Succ vuz900)) (not False)) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) (not False)))",fontsize=16,color="black",shape="box"];281 -> 309[label="",style="solid", color="black", weight=3]; 102.84/63.26 282[label="primQuotInt (absReal1 (Pos Zero) True) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (absReal1 (Pos Zero) True))",fontsize=16,color="black",shape="box"];282 -> 310[label="",style="solid", color="black", weight=3]; 102.84/63.26 283[label="primQuotInt (absReal1 (Neg (Succ vuz900)) False) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal1 (Neg (Succ vuz900)) False))",fontsize=16,color="black",shape="box"];283 -> 311[label="",style="solid", color="black", weight=3]; 102.84/63.26 284[label="primQuotInt (absReal1 (Neg Zero) True) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (absReal1 (Neg Zero) True))",fontsize=16,color="black",shape="box"];284 -> 312[label="",style="solid", color="black", weight=3]; 102.84/63.26 285[label="absReal1 (Integer (Pos (Succ vuz900))) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (absReal1 (Integer (Pos (Succ vuz900))) True)",fontsize=16,color="black",shape="box"];285 -> 313[label="",style="solid", color="black", weight=3]; 102.84/63.26 286[label="Integer (Pos Zero) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];286 -> 314[label="",style="solid", color="black", weight=3]; 102.84/63.26 287[label="absReal0 (Integer (Neg (Succ vuz900))) otherwise `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal0 (Integer (Neg (Succ vuz900))) otherwise)",fontsize=16,color="black",shape="box"];287 -> 315[label="",style="solid", color="black", weight=3]; 102.84/63.26 288[label="Integer (Neg Zero) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];288 -> 316[label="",style="solid", color="black", weight=3]; 102.84/63.26 4781[label="absReal0 (Pos (Succ vuz287)) otherwise",fontsize=16,color="black",shape="box"];4781 -> 4828[label="",style="solid", color="black", weight=3]; 102.84/63.26 3377[label="`negate` Pos Zero",fontsize=16,color="black",shape="box"];3377 -> 3403[label="",style="solid", color="black", weight=3]; 102.84/63.26 3378[label="vuz15800",fontsize=16,color="green",shape="box"];2686[label="primNegInt (Neg (Succ vuz3100))",fontsize=16,color="black",shape="triangle"];2686 -> 2902[label="",style="solid", color="black", weight=3]; 102.84/63.26 4827[label="Neg (Succ vuz291)",fontsize=16,color="green",shape="box"];3384[label="primNegInt (Neg Zero)",fontsize=16,color="black",shape="box"];3384 -> 3409[label="",style="solid", color="black", weight=3]; 102.84/63.26 2685[label="Pos Zero",fontsize=16,color="green",shape="box"];291[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];291 -> 318[label="",style="solid", color="black", weight=3]; 102.84/63.26 292[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];292 -> 319[label="",style="solid", color="black", weight=3]; 102.84/63.26 293[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];293 -> 320[label="",style="solid", color="black", weight=3]; 102.84/63.26 294[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];294 -> 321[label="",style="solid", color="black", weight=3]; 102.84/63.26 295[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];295 -> 322[label="",style="solid", color="black", weight=3]; 102.84/63.26 296[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];296 -> 323[label="",style="solid", color="black", weight=3]; 102.84/63.26 297[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];297 -> 324[label="",style="solid", color="black", weight=3]; 102.84/63.26 298[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];298 -> 325[label="",style="solid", color="black", weight=3]; 102.84/63.26 299[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];299 -> 326[label="",style="solid", color="black", weight=3]; 102.84/63.26 300[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];300 -> 327[label="",style="solid", color="black", weight=3]; 102.84/63.26 301[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];301 -> 328[label="",style="solid", color="black", weight=3]; 102.84/63.26 302[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];302 -> 329[label="",style="solid", color="black", weight=3]; 102.84/63.26 303[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];303 -> 330[label="",style="solid", color="black", weight=3]; 102.84/63.26 304[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];304 -> 331[label="",style="solid", color="black", weight=3]; 102.84/63.26 305[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];305 -> 332[label="",style="solid", color="black", weight=3]; 102.84/63.26 306[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd3 (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];306 -> 333[label="",style="solid", color="black", weight=3]; 102.84/63.26 307[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];307 -> 334[label="",style="solid", color="black", weight=3]; 102.84/63.26 308[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd3 (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];308 -> 335[label="",style="solid", color="black", weight=3]; 102.84/63.26 309[label="primQuotInt (absReal1 (Pos (Succ vuz900)) True) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (absReal1 (Pos (Succ vuz900)) True))",fontsize=16,color="black",shape="box"];309 -> 336[label="",style="solid", color="black", weight=3]; 102.84/63.26 310 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 310[label="primQuotInt (Pos Zero) (reduce2D (fromInt vuz8 * signum (Pos Zero)) (Pos Zero))",fontsize=16,color="magenta"];310 -> 5418[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 310 -> 5419[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 311[label="primQuotInt (absReal0 (Neg (Succ vuz900)) otherwise) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal0 (Neg (Succ vuz900)) otherwise))",fontsize=16,color="black",shape="box"];311 -> 338[label="",style="solid", color="black", weight=3]; 102.84/63.26 312 -> 6450[label="",style="dashed", color="red", weight=0]; 102.84/63.26 312[label="primQuotInt (Neg Zero) (reduce2D (fromInt vuz8 * signum (Neg Zero)) (Neg Zero))",fontsize=16,color="magenta"];312 -> 6451[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 312 -> 6452[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 313[label="Integer (Pos (Succ vuz900)) `quot` reduce2D (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];313 -> 340[label="",style="solid", color="black", weight=3]; 102.84/63.26 314[label="Integer (Pos Zero) `quot` gcd (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];314 -> 341[label="",style="solid", color="black", weight=3]; 102.84/63.26 315[label="absReal0 (Integer (Neg (Succ vuz900))) True `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (absReal0 (Integer (Neg (Succ vuz900))) True)",fontsize=16,color="black",shape="box"];315 -> 342[label="",style="solid", color="black", weight=3]; 102.84/63.26 316[label="Integer (Neg Zero) `quot` gcd (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];316 -> 343[label="",style="solid", color="black", weight=3]; 102.84/63.26 4828[label="absReal0 (Pos (Succ vuz287)) True",fontsize=16,color="black",shape="box"];4828 -> 4832[label="",style="solid", color="black", weight=3]; 102.84/63.26 3403[label="primNegInt (Pos Zero)",fontsize=16,color="black",shape="box"];3403 -> 3454[label="",style="solid", color="black", weight=3]; 102.84/63.26 2902[label="Pos (Succ vuz3100)",fontsize=16,color="green",shape="box"];3409[label="Pos Zero",fontsize=16,color="green",shape="box"];318[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];318 -> 344[label="",style="solid", color="black", weight=3]; 102.84/63.26 319[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];319 -> 345[label="",style="solid", color="black", weight=3]; 102.84/63.26 320[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];320 -> 346[label="",style="solid", color="black", weight=3]; 102.84/63.26 321[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];321 -> 347[label="",style="solid", color="black", weight=3]; 102.84/63.26 322[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];322 -> 348[label="",style="solid", color="black", weight=3]; 102.84/63.26 323[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];323 -> 349[label="",style="solid", color="black", weight=3]; 102.84/63.26 324[label="primQuotInt (primMulInt (Pos vuz80) (Pos Zero)) (reduce2D (primMulInt (Pos vuz80) (Pos Zero)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];324 -> 350[label="",style="solid", color="black", weight=3]; 102.84/63.26 325[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];325 -> 351[label="",style="solid", color="black", weight=3]; 102.84/63.26 326[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];326 -> 352[label="",style="solid", color="black", weight=3]; 102.84/63.26 327[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (compare (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];327 -> 353[label="",style="solid", color="black", weight=3]; 102.84/63.26 328[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];328 -> 354[label="",style="solid", color="black", weight=3]; 102.84/63.26 329[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];329 -> 355[label="",style="solid", color="black", weight=3]; 102.84/63.26 330[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (compare (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];330 -> 356[label="",style="solid", color="black", weight=3]; 102.84/63.26 331[label="primQuotInt (primMulInt (Neg vuz80) (Pos Zero)) (reduce2D (primMulInt (Neg vuz80) (Pos Zero)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];331 -> 357[label="",style="solid", color="black", weight=3]; 102.84/63.26 332[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT) `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];332 -> 358[label="",style="solid", color="black", weight=3]; 102.84/63.26 333[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];333 -> 359[label="",style="solid", color="black", weight=3]; 102.84/63.26 334[label="Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];334 -> 360[label="",style="solid", color="black", weight=3]; 102.84/63.26 335[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];335 -> 361[label="",style="solid", color="black", weight=3]; 102.84/63.26 336 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 336[label="primQuotInt (Pos (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900)))",fontsize=16,color="magenta"];336 -> 5420[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 336 -> 5421[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5418[label="Zero",fontsize=16,color="green",shape="box"];5419 -> 5607[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5419[label="reduce2D (fromInt vuz8 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5419 -> 5608[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5417[label="primQuotInt (Pos vuz301) vuz319",fontsize=16,color="burlywood",shape="triangle"];8363[label="vuz319/Pos vuz3190",fontsize=10,color="white",style="solid",shape="box"];5417 -> 8363[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8363 -> 5609[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8364[label="vuz319/Neg vuz3190",fontsize=10,color="white",style="solid",shape="box"];5417 -> 8364[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8364 -> 5610[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 338[label="primQuotInt (absReal0 (Neg (Succ vuz900)) True) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (absReal0 (Neg (Succ vuz900)) True))",fontsize=16,color="black",shape="box"];338 -> 364[label="",style="solid", color="black", weight=3]; 102.84/63.26 6451[label="Zero",fontsize=16,color="green",shape="box"];6452 -> 6857[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6452[label="reduce2D (fromInt vuz8 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6452 -> 6858[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6450[label="primQuotInt (Neg vuz381) vuz407",fontsize=16,color="burlywood",shape="triangle"];8365[label="vuz407/Pos vuz4070",fontsize=10,color="white",style="solid",shape="box"];6450 -> 8365[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8365 -> 6859[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8366[label="vuz407/Neg vuz4070",fontsize=10,color="white",style="solid",shape="box"];6450 -> 8366[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8366 -> 6860[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 340[label="Integer (Pos (Succ vuz900)) `quot` gcd (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];340 -> 366[label="",style="solid", color="black", weight=3]; 102.84/63.26 341[label="Integer (Pos Zero) `quot` gcd3 (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];341 -> 367[label="",style="solid", color="black", weight=3]; 102.84/63.26 342[label="(`negate` Integer (Neg (Succ vuz900))) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (`negate` Integer (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];342 -> 368[label="",style="solid", color="black", weight=3]; 102.84/63.26 343[label="Integer (Neg Zero) `quot` gcd3 (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];343 -> 369[label="",style="solid", color="black", weight=3]; 102.84/63.26 4832[label="`negate` Pos (Succ vuz287)",fontsize=16,color="black",shape="box"];4832 -> 5270[label="",style="solid", color="black", weight=3]; 102.84/63.26 3454[label="Neg Zero",fontsize=16,color="green",shape="box"];344[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];344 -> 370[label="",style="solid", color="black", weight=3]; 102.84/63.26 345 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 345[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];345 -> 5424[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 345 -> 5425[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 346[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];346 -> 372[label="",style="solid", color="black", weight=3]; 102.84/63.26 347 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 347[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos Zero)))",fontsize=16,color="magenta"];347 -> 5426[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 347 -> 5427[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 348[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];348 -> 374[label="",style="solid", color="black", weight=3]; 102.84/63.26 349[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];349 -> 375[label="",style="solid", color="black", weight=3]; 102.84/63.26 350 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 350[label="primQuotInt (Pos (primMulNat vuz80 Zero)) (reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Neg Zero)))",fontsize=16,color="magenta"];350 -> 5428[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 350 -> 5429[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 351[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (fromInt (Pos Zero)) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];351 -> 377[label="",style="solid", color="black", weight=3]; 102.84/63.26 352 -> 6450[label="",style="dashed", color="red", weight=0]; 102.84/63.26 352[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];352 -> 6455[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 352 -> 6456[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 353[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];353 -> 379[label="",style="solid", color="black", weight=3]; 102.84/63.26 354 -> 6450[label="",style="dashed", color="red", weight=0]; 102.84/63.26 354[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos Zero)))",fontsize=16,color="magenta"];354 -> 6457[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 354 -> 6458[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 355[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];355 -> 381[label="",style="solid", color="black", weight=3]; 102.84/63.26 356[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];356 -> 382[label="",style="solid", color="black", weight=3]; 102.84/63.26 357 -> 6450[label="",style="dashed", color="red", weight=0]; 102.84/63.26 357[label="primQuotInt (Neg (primMulNat vuz80 Zero)) (reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Neg Zero)))",fontsize=16,color="magenta"];357 -> 6459[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 357 -> 6460[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 358[label="Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True `quot` reduce2D (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];358 -> 384[label="",style="solid", color="black", weight=3]; 102.84/63.26 359[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];359 -> 385[label="",style="solid", color="black", weight=3]; 102.84/63.26 360[label="Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise `quot` reduce2D (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];360 -> 386[label="",style="solid", color="black", weight=3]; 102.84/63.26 361[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];361 -> 387[label="",style="solid", color="black", weight=3]; 102.84/63.26 5420[label="Succ vuz900",fontsize=16,color="green",shape="box"];5421 -> 5611[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5421[label="reduce2D (fromInt vuz8 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5421 -> 5612[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5608 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5608[label="fromInt vuz8",fontsize=16,color="magenta"];5608 -> 5613[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5607[label="reduce2D (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="triangle"];5607 -> 5614[label="",style="solid", color="black", weight=3]; 102.84/63.26 5609[label="primQuotInt (Pos vuz301) (Pos vuz3190)",fontsize=16,color="burlywood",shape="box"];8367[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];5609 -> 8367[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8367 -> 5615[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8368[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];5609 -> 8368[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8368 -> 5616[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5610[label="primQuotInt (Pos vuz301) (Neg vuz3190)",fontsize=16,color="burlywood",shape="box"];8369[label="vuz3190/Succ vuz31900",fontsize=10,color="white",style="solid",shape="box"];5610 -> 8369[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8369 -> 5617[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8370[label="vuz3190/Zero",fontsize=10,color="white",style="solid",shape="box"];5610 -> 8370[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8370 -> 5618[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 364[label="primQuotInt (`negate` Neg (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (`negate` Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];364 -> 390[label="",style="solid", color="black", weight=3]; 102.84/63.26 6858 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6858[label="fromInt vuz8",fontsize=16,color="magenta"];6858 -> 6861[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6857[label="reduce2D (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="triangle"];6857 -> 6862[label="",style="solid", color="black", weight=3]; 102.84/63.26 6859[label="primQuotInt (Neg vuz381) (Pos vuz4070)",fontsize=16,color="burlywood",shape="box"];8371[label="vuz4070/Succ vuz40700",fontsize=10,color="white",style="solid",shape="box"];6859 -> 8371[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8371 -> 6880[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8372[label="vuz4070/Zero",fontsize=10,color="white",style="solid",shape="box"];6859 -> 8372[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8372 -> 6881[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 6860[label="primQuotInt (Neg vuz381) (Neg vuz4070)",fontsize=16,color="burlywood",shape="box"];8373[label="vuz4070/Succ vuz40700",fontsize=10,color="white",style="solid",shape="box"];6860 -> 8373[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8373 -> 6882[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8374[label="vuz4070/Zero",fontsize=10,color="white",style="solid",shape="box"];6860 -> 8374[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8374 -> 6883[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 366[label="Integer (Pos (Succ vuz900)) `quot` gcd3 (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];366 -> 392[label="",style="solid", color="black", weight=3]; 102.84/63.26 367[label="Integer (Pos Zero) `quot` gcd2 (fromInt vuz8 * signum (Integer (Pos Zero)) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];367 -> 393[label="",style="solid", color="black", weight=3]; 102.84/63.26 368[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` reduce2D (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];368 -> 394[label="",style="solid", color="black", weight=3]; 102.84/63.26 369[label="Integer (Neg Zero) `quot` gcd2 (fromInt vuz8 * signum (Integer (Neg Zero)) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];369 -> 395[label="",style="solid", color="black", weight=3]; 102.84/63.26 5270[label="primNegInt (Pos (Succ vuz287))",fontsize=16,color="black",shape="box"];5270 -> 5385[label="",style="solid", color="black", weight=3]; 102.84/63.26 370[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];370 -> 396[label="",style="solid", color="black", weight=3]; 102.84/63.26 5424 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5424[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5424 -> 5619[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5424 -> 5620[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5425 -> 5621[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5425[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5425 -> 5622[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5425 -> 5623[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 372[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];372 -> 398[label="",style="solid", color="black", weight=3]; 102.84/63.26 5426 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5426[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5426 -> 5636[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5426 -> 5637[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5427 -> 5621[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5427[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Pos Zero))",fontsize=16,color="magenta"];5427 -> 5624[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5427 -> 5625[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 374[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];374 -> 400[label="",style="solid", color="black", weight=3]; 102.84/63.26 375[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];375 -> 401[label="",style="solid", color="black", weight=3]; 102.84/63.26 5428 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5428[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5428 -> 5638[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5428 -> 5639[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5429 -> 5621[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5429[label="reduce2D (Pos (primMulNat vuz80 Zero)) (abs (Neg Zero))",fontsize=16,color="magenta"];5429 -> 5626[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5429 -> 5627[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 377[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];377 -> 403[label="",style="solid", color="black", weight=3]; 102.84/63.26 6455 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6455[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6455 -> 6863[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6455 -> 6864[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6456 -> 6865[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6456[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6456 -> 6866[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6456 -> 6867[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 379[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];379 -> 405[label="",style="solid", color="black", weight=3]; 102.84/63.26 6457 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6457[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6457 -> 6884[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6457 -> 6885[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6458 -> 6865[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6458[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Pos Zero))",fontsize=16,color="magenta"];6458 -> 6868[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6458 -> 6869[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 381[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) (LT == GT))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];381 -> 407[label="",style="solid", color="black", weight=3]; 102.84/63.26 382[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];382 -> 408[label="",style="solid", color="black", weight=3]; 102.84/63.26 6459 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6459[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6459 -> 6886[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6459 -> 6887[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6460 -> 6865[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6460[label="reduce2D (Neg (primMulNat vuz80 Zero)) (abs (Neg Zero))",fontsize=16,color="magenta"];6460 -> 6870[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6460 -> 6871[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 384[label="Integer vuz8 * fromInt (Pos (Succ Zero)) `quot` reduce2D (Integer vuz8 * fromInt (Pos (Succ Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];384 -> 410[label="",style="solid", color="black", weight=3]; 102.84/63.26 385[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8375[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];385 -> 8375[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8375 -> 411[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8376[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];385 -> 8376[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8376 -> 412[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 386[label="Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True `quot` reduce2D (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];386 -> 413[label="",style="solid", color="black", weight=3]; 102.84/63.26 387[label="Integer (primMulInt vuz8 (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8377[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];387 -> 8377[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8377 -> 414[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8378[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];387 -> 8378[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8378 -> 415[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5612 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5612[label="fromInt vuz8",fontsize=16,color="magenta"];5612 -> 5640[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5611[label="reduce2D (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5611 -> 5641[label="",style="solid", color="black", weight=3]; 102.84/63.26 5613[label="vuz8",fontsize=16,color="green",shape="box"];5614[label="gcd (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5614 -> 5642[label="",style="solid", color="black", weight=3]; 102.84/63.26 5615[label="primQuotInt (Pos vuz301) (Pos (Succ vuz31900))",fontsize=16,color="black",shape="box"];5615 -> 5643[label="",style="solid", color="black", weight=3]; 102.84/63.26 5616[label="primQuotInt (Pos vuz301) (Pos Zero)",fontsize=16,color="black",shape="box"];5616 -> 5644[label="",style="solid", color="black", weight=3]; 102.84/63.26 5617[label="primQuotInt (Pos vuz301) (Neg (Succ vuz31900))",fontsize=16,color="black",shape="box"];5617 -> 5645[label="",style="solid", color="black", weight=3]; 102.84/63.26 5618[label="primQuotInt (Pos vuz301) (Neg Zero)",fontsize=16,color="black",shape="box"];5618 -> 5646[label="",style="solid", color="black", weight=3]; 102.84/63.26 390[label="primQuotInt (primNegInt (Neg (Succ vuz900))) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];390 -> 418[label="",style="solid", color="black", weight=3]; 102.84/63.26 6861[label="vuz8",fontsize=16,color="green",shape="box"];6862[label="gcd (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6862 -> 6888[label="",style="solid", color="black", weight=3]; 102.84/63.26 6880[label="primQuotInt (Neg vuz381) (Pos (Succ vuz40700))",fontsize=16,color="black",shape="box"];6880 -> 6921[label="",style="solid", color="black", weight=3]; 102.84/63.26 6881[label="primQuotInt (Neg vuz381) (Pos Zero)",fontsize=16,color="black",shape="box"];6881 -> 6922[label="",style="solid", color="black", weight=3]; 102.84/63.26 6882[label="primQuotInt (Neg vuz381) (Neg (Succ vuz40700))",fontsize=16,color="black",shape="box"];6882 -> 6923[label="",style="solid", color="black", weight=3]; 102.84/63.26 6883[label="primQuotInt (Neg vuz381) (Neg Zero)",fontsize=16,color="black",shape="box"];6883 -> 6924[label="",style="solid", color="black", weight=3]; 102.84/63.26 392[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (fromInt vuz8 * signum (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];392 -> 420[label="",style="solid", color="black", weight=3]; 102.84/63.26 393[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signum (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];393 -> 421[label="",style="solid", color="black", weight=3]; 102.84/63.26 394[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];394 -> 422[label="",style="solid", color="black", weight=3]; 102.84/63.26 395[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signum (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];395 -> 423[label="",style="solid", color="black", weight=3]; 102.84/63.26 5385[label="Neg (Succ vuz287)",fontsize=16,color="green",shape="box"];396[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];396 -> 424[label="",style="solid", color="black", weight=3]; 102.84/63.26 5619[label="Zero",fontsize=16,color="green",shape="box"];5620[label="vuz80",fontsize=16,color="green",shape="box"];4436[label="primMulNat vuz2360 vuz2750",fontsize=16,color="burlywood",shape="triangle"];8379[label="vuz2360/Succ vuz23600",fontsize=10,color="white",style="solid",shape="box"];4436 -> 8379[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8379 -> 4490[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8380[label="vuz2360/Zero",fontsize=10,color="white",style="solid",shape="box"];4436 -> 8380[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8380 -> 4491[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5622 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5622[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5622 -> 5647[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5622 -> 5648[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5623 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5623[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5623 -> 5649[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5621[label="reduce2D (Pos vuz325) vuz324",fontsize=16,color="black",shape="triangle"];5621 -> 5650[label="",style="solid", color="black", weight=3]; 102.84/63.26 398[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];398 -> 426[label="",style="solid", color="black", weight=3]; 102.84/63.26 5636[label="Zero",fontsize=16,color="green",shape="box"];5637[label="vuz80",fontsize=16,color="green",shape="box"];5624 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5624[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5624 -> 5651[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5624 -> 5652[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5625 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5625[label="abs (Pos Zero)",fontsize=16,color="magenta"];5625 -> 5653[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 400[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];400 -> 428[label="",style="solid", color="black", weight=3]; 102.84/63.26 401[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];401 -> 429[label="",style="solid", color="black", weight=3]; 102.84/63.26 5638[label="Zero",fontsize=16,color="green",shape="box"];5639[label="vuz80",fontsize=16,color="green",shape="box"];5626 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5626[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5626 -> 5654[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5626 -> 5655[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5627 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5627[label="abs (Neg Zero)",fontsize=16,color="magenta"];5627 -> 5656[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 403[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) Zero == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];403 -> 431[label="",style="solid", color="black", weight=3]; 102.84/63.26 6863[label="Zero",fontsize=16,color="green",shape="box"];6864[label="vuz80",fontsize=16,color="green",shape="box"];6866 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6866[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6866 -> 6889[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6866 -> 6890[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6867 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6867[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];6867 -> 6891[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6865[label="reduce2D (Neg vuz412) vuz411",fontsize=16,color="black",shape="triangle"];6865 -> 6892[label="",style="solid", color="black", weight=3]; 102.84/63.26 405[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) (EQ == GT))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];405 -> 433[label="",style="solid", color="black", weight=3]; 102.84/63.26 6884[label="Zero",fontsize=16,color="green",shape="box"];6885[label="vuz80",fontsize=16,color="green",shape="box"];6868 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6868[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6868 -> 6893[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6868 -> 6894[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6869 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6869[label="abs (Pos Zero)",fontsize=16,color="magenta"];6869 -> 6895[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 407[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg (Succ vuz900)) False)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];407 -> 435[label="",style="solid", color="black", weight=3]; 102.84/63.26 408[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) (EQ == GT))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];408 -> 436[label="",style="solid", color="black", weight=3]; 102.84/63.26 6886[label="Zero",fontsize=16,color="green",shape="box"];6887[label="vuz80",fontsize=16,color="green",shape="box"];6870 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6870[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6870 -> 6896[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6870 -> 6897[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6871 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6871[label="abs (Neg Zero)",fontsize=16,color="magenta"];6871 -> 6898[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 410[label="Integer vuz8 * Integer (Pos (Succ Zero)) `quot` reduce2D (Integer vuz8 * Integer (Pos (Succ Zero))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];410 -> 438[label="",style="solid", color="black", weight=3]; 102.84/63.26 411[label="Integer (primMulInt (Pos vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];411 -> 439[label="",style="solid", color="black", weight=3]; 102.84/63.26 412[label="Integer (primMulInt (Neg vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];412 -> 440[label="",style="solid", color="black", weight=3]; 102.84/63.26 413[label="Integer vuz8 * fromInt (Neg (Succ Zero)) `quot` reduce2D (Integer vuz8 * fromInt (Neg (Succ Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];413 -> 441[label="",style="solid", color="black", weight=3]; 102.84/63.26 414[label="Integer (primMulInt (Pos vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];414 -> 442[label="",style="solid", color="black", weight=3]; 102.84/63.26 415[label="Integer (primMulInt (Neg vuz80) (Pos Zero)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];415 -> 443[label="",style="solid", color="black", weight=3]; 102.84/63.26 5640[label="vuz8",fontsize=16,color="green",shape="box"];5641[label="gcd (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5641 -> 5659[label="",style="solid", color="black", weight=3]; 102.84/63.26 5642[label="gcd3 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5642 -> 5660[label="",style="solid", color="black", weight=3]; 102.84/63.26 5643[label="Pos (primDivNatS vuz301 (Succ vuz31900))",fontsize=16,color="green",shape="box"];5643 -> 5661[label="",style="dashed", color="green", weight=3]; 102.84/63.26 5644 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5644[label="error []",fontsize=16,color="magenta"];5645[label="Neg (primDivNatS vuz301 (Succ vuz31900))",fontsize=16,color="green",shape="box"];5645 -> 5662[label="",style="dashed", color="green", weight=3]; 102.84/63.26 5646 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5646[label="error []",fontsize=16,color="magenta"];418 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 418[label="primQuotInt (Pos (Succ vuz900)) (reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900)))",fontsize=16,color="magenta"];418 -> 5450[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 418 -> 5451[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6888[label="gcd3 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6888 -> 6925[label="",style="solid", color="black", weight=3]; 102.84/63.26 6921[label="Neg (primDivNatS vuz381 (Succ vuz40700))",fontsize=16,color="green",shape="box"];6921 -> 6930[label="",style="dashed", color="green", weight=3]; 102.84/63.26 6922 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6922[label="error []",fontsize=16,color="magenta"];6923[label="Pos (primDivNatS vuz381 (Succ vuz40700))",fontsize=16,color="green",shape="box"];6923 -> 6931[label="",style="dashed", color="green", weight=3]; 102.84/63.26 6924 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6924[label="error []",fontsize=16,color="magenta"];420[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signum (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];420 -> 448[label="",style="solid", color="black", weight=3]; 102.84/63.26 421[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];421 -> 449[label="",style="solid", color="black", weight=3]; 102.84/63.26 422[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd3 (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];422 -> 450[label="",style="solid", color="black", weight=3]; 102.84/63.26 423[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];423 -> 451[label="",style="solid", color="black", weight=3]; 102.84/63.26 424[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];424 -> 452[label="",style="solid", color="black", weight=3]; 102.84/63.26 4490[label="primMulNat (Succ vuz23600) vuz2750",fontsize=16,color="burlywood",shape="box"];8381[label="vuz2750/Succ vuz27500",fontsize=10,color="white",style="solid",shape="box"];4490 -> 8381[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8381 -> 4511[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8382[label="vuz2750/Zero",fontsize=10,color="white",style="solid",shape="box"];4490 -> 8382[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8382 -> 4512[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 4491[label="primMulNat Zero vuz2750",fontsize=16,color="burlywood",shape="box"];8383[label="vuz2750/Succ vuz27500",fontsize=10,color="white",style="solid",shape="box"];4491 -> 8383[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8383 -> 4513[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8384[label="vuz2750/Zero",fontsize=10,color="white",style="solid",shape="box"];4491 -> 8384[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8384 -> 4514[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5647[label="Zero",fontsize=16,color="green",shape="box"];5648[label="vuz80",fontsize=16,color="green",shape="box"];5649[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5650[label="gcd (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5650 -> 5663[label="",style="solid", color="black", weight=3]; 102.84/63.26 426[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos Zero) False)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];426 -> 454[label="",style="solid", color="black", weight=3]; 102.84/63.26 5651[label="Zero",fontsize=16,color="green",shape="box"];5652[label="vuz80",fontsize=16,color="green",shape="box"];5653[label="Pos Zero",fontsize=16,color="green",shape="box"];428[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];428 -> 456[label="",style="solid", color="black", weight=3]; 102.84/63.26 429[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) False)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Neg Zero) False)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];429 -> 457[label="",style="solid", color="black", weight=3]; 102.84/63.26 5654[label="Zero",fontsize=16,color="green",shape="box"];5655[label="vuz80",fontsize=16,color="green",shape="box"];5656[label="Neg Zero",fontsize=16,color="green",shape="box"];431[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) (GT == GT))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];431 -> 459[label="",style="solid", color="black", weight=3]; 102.84/63.26 6889[label="Zero",fontsize=16,color="green",shape="box"];6890[label="vuz80",fontsize=16,color="green",shape="box"];6891[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6892[label="gcd (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6892 -> 6926[label="",style="solid", color="black", weight=3]; 102.84/63.26 433[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos Zero) False)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];433 -> 461[label="",style="solid", color="black", weight=3]; 102.84/63.26 6893[label="Zero",fontsize=16,color="green",shape="box"];6894[label="vuz80",fontsize=16,color="green",shape="box"];6895[label="Pos Zero",fontsize=16,color="green",shape="box"];435[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) otherwise)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];435 -> 463[label="",style="solid", color="black", weight=3]; 102.84/63.26 436[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) False)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Neg Zero) False)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];436 -> 464[label="",style="solid", color="black", weight=3]; 102.84/63.26 6896[label="Zero",fontsize=16,color="green",shape="box"];6897[label="vuz80",fontsize=16,color="green",shape="box"];6898[label="Neg Zero",fontsize=16,color="green",shape="box"];438[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` reduce2D (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];438 -> 466[label="",style="solid", color="black", weight=3]; 102.84/63.26 439[label="Integer (Pos (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8385[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];439 -> 8385[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8385 -> 467[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8386[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];439 -> 8386[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8386 -> 468[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 440[label="Integer (Neg (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="box"];8387[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];440 -> 8387[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8387 -> 469[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8388[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];440 -> 8388[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8388 -> 470[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 441[label="Integer vuz8 * Integer (Neg (Succ Zero)) `quot` reduce2D (Integer vuz8 * Integer (Neg (Succ Zero))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];441 -> 471[label="",style="solid", color="black", weight=3]; 102.84/63.26 442[label="Integer (Pos (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8389[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];442 -> 8389[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8389 -> 472[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8390[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];442 -> 8390[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8390 -> 473[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 443[label="Integer (Neg (primMulNat vuz80 Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="box"];8391[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];443 -> 8391[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8391 -> 474[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8392[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];443 -> 8392[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8392 -> 475[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5659[label="gcd3 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5659 -> 5705[label="",style="solid", color="black", weight=3]; 102.84/63.26 5660 -> 5706[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5660[label="gcd2 (vuz322 * signum (Pos Zero) == fromInt (Pos Zero)) (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5660 -> 5707[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5661[label="primDivNatS vuz301 (Succ vuz31900)",fontsize=16,color="burlywood",shape="triangle"];8393[label="vuz301/Succ vuz3010",fontsize=10,color="white",style="solid",shape="box"];5661 -> 8393[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8393 -> 5708[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8394[label="vuz301/Zero",fontsize=10,color="white",style="solid",shape="box"];5661 -> 8394[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8394 -> 5709[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 3082[label="error []",fontsize=16,color="black",shape="triangle"];3082 -> 3126[label="",style="solid", color="black", weight=3]; 102.84/63.26 5662 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5662[label="primDivNatS vuz301 (Succ vuz31900)",fontsize=16,color="magenta"];5662 -> 5710[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5450[label="Succ vuz900",fontsize=16,color="green",shape="box"];5451 -> 5657[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5451[label="reduce2D (fromInt vuz8 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5451 -> 5658[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6925 -> 6932[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6925[label="gcd2 (vuz410 * signum (Neg Zero) == fromInt (Pos Zero)) (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6925 -> 6933[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6930 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6930[label="primDivNatS vuz381 (Succ vuz40700)",fontsize=16,color="magenta"];6930 -> 6934[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6930 -> 6935[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6931 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6931[label="primDivNatS vuz381 (Succ vuz40700)",fontsize=16,color="magenta"];6931 -> 6936[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6931 -> 6937[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 448[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];448 -> 480[label="",style="solid", color="black", weight=3]; 102.84/63.26 449[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];449 -> 481[label="",style="solid", color="black", weight=3]; 102.84/63.26 450[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (fromInt vuz8 * signum (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (fromInt vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];450 -> 482[label="",style="solid", color="black", weight=3]; 102.84/63.26 451[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Neg Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];451 -> 483[label="",style="solid", color="black", weight=3]; 102.84/63.26 452[label="primQuotInt (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];452 -> 484[label="",style="solid", color="black", weight=3]; 102.84/63.26 4511[label="primMulNat (Succ vuz23600) (Succ vuz27500)",fontsize=16,color="black",shape="box"];4511 -> 4518[label="",style="solid", color="black", weight=3]; 102.84/63.26 4512[label="primMulNat (Succ vuz23600) Zero",fontsize=16,color="black",shape="box"];4512 -> 4519[label="",style="solid", color="black", weight=3]; 102.84/63.26 4513[label="primMulNat Zero (Succ vuz27500)",fontsize=16,color="black",shape="box"];4513 -> 4520[label="",style="solid", color="black", weight=3]; 102.84/63.26 4514[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];4514 -> 4521[label="",style="solid", color="black", weight=3]; 102.84/63.26 5663[label="gcd3 (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5663 -> 5711[label="",style="solid", color="black", weight=3]; 102.84/63.26 454[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) otherwise)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];454 -> 487[label="",style="solid", color="black", weight=3]; 102.84/63.26 456[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];456 -> 490[label="",style="solid", color="black", weight=3]; 102.84/63.26 457[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) otherwise)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) otherwise)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];457 -> 491[label="",style="solid", color="black", weight=3]; 102.84/63.26 459[label="primQuotInt (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal1 (Pos (Succ vuz900)) True)) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];459 -> 494[label="",style="solid", color="black", weight=3]; 102.84/63.26 6926[label="gcd3 (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6926 -> 6938[label="",style="solid", color="black", weight=3]; 102.84/63.26 461[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) otherwise)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];461 -> 497[label="",style="solid", color="black", weight=3]; 102.84/63.26 463[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg (Succ vuz900)) True)) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];463 -> 500[label="",style="solid", color="black", weight=3]; 102.84/63.26 464[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) otherwise)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) otherwise)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];464 -> 501[label="",style="solid", color="black", weight=3]; 102.84/63.26 466[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];466 -> 504[label="",style="solid", color="black", weight=3]; 102.84/63.26 467[label="Integer (Pos (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];467 -> 505[label="",style="solid", color="black", weight=3]; 102.84/63.26 468[label="Integer (Pos (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];468 -> 506[label="",style="solid", color="black", weight=3]; 102.84/63.26 469[label="Integer (Neg (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];469 -> 507[label="",style="solid", color="black", weight=3]; 102.84/63.26 470[label="Integer (Neg (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];470 -> 508[label="",style="solid", color="black", weight=3]; 102.84/63.26 471[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` reduce2D (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];471 -> 509[label="",style="solid", color="black", weight=3]; 102.84/63.26 472[label="Integer (Pos (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];472 -> 510[label="",style="solid", color="black", weight=3]; 102.84/63.26 473[label="Integer (Pos (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];473 -> 511[label="",style="solid", color="black", weight=3]; 102.84/63.26 474[label="Integer (Neg (primMulNat (Succ vuz800) Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];474 -> 512[label="",style="solid", color="black", weight=3]; 102.84/63.26 475[label="Integer (Neg (primMulNat Zero Zero)) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];475 -> 513[label="",style="solid", color="black", weight=3]; 102.84/63.26 5705 -> 5712[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5705[label="gcd2 (vuz323 * signum (Pos (Succ vuz900)) == fromInt (Pos Zero)) (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5705 -> 5713[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5707 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5707[label="vuz322 * signum (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5707 -> 5714[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5706[label="gcd2 vuz333 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];8395[label="vuz333/False",fontsize=10,color="white",style="solid",shape="box"];5706 -> 8395[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8395 -> 5715[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8396[label="vuz333/True",fontsize=10,color="white",style="solid",shape="box"];5706 -> 8396[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8396 -> 5716[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5708[label="primDivNatS (Succ vuz3010) (Succ vuz31900)",fontsize=16,color="black",shape="box"];5708 -> 5717[label="",style="solid", color="black", weight=3]; 102.84/63.26 5709[label="primDivNatS Zero (Succ vuz31900)",fontsize=16,color="black",shape="box"];5709 -> 5718[label="",style="solid", color="black", weight=3]; 102.84/63.26 3126[label="error []",fontsize=16,color="red",shape="box"];5710[label="vuz31900",fontsize=16,color="green",shape="box"];5658 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5658[label="fromInt vuz8",fontsize=16,color="magenta"];5658 -> 5664[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5657[label="reduce2D (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5657 -> 5665[label="",style="solid", color="black", weight=3]; 102.84/63.26 6933 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6933[label="vuz410 * signum (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6933 -> 6939[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6932[label="gcd2 vuz415 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="burlywood",shape="triangle"];8397[label="vuz415/False",fontsize=10,color="white",style="solid",shape="box"];6932 -> 8397[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8397 -> 6940[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8398[label="vuz415/True",fontsize=10,color="white",style="solid",shape="box"];6932 -> 8398[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8398 -> 6941[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 6934[label="vuz40700",fontsize=16,color="green",shape="box"];6935[label="vuz381",fontsize=16,color="green",shape="box"];6936[label="vuz40700",fontsize=16,color="green",shape="box"];6937[label="vuz381",fontsize=16,color="green",shape="box"];480[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Pos (Succ vuz900)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];480 -> 520[label="",style="solid", color="black", weight=3]; 102.84/63.26 481 -> 521[label="",style="dashed", color="red", weight=0]; 102.84/63.26 481[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (Integer (Pos Zero) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) (Integer (Pos Zero) == fromInt (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="magenta"];481 -> 522[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 481 -> 523[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 482[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signum (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signum (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];482 -> 524[label="",style="solid", color="black", weight=3]; 102.84/63.26 483 -> 525[label="",style="dashed", color="red", weight=0]; 102.84/63.26 483[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (Integer (Neg Zero) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) (Integer (Neg Zero) == fromInt (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="magenta"];483 -> 526[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 483 -> 527[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 484[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Pos (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Pos (Succ Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];484 -> 528[label="",style="solid", color="black", weight=3]; 102.84/63.26 4518 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4518[label="primPlusNat (primMulNat vuz23600 (Succ vuz27500)) (Succ vuz27500)",fontsize=16,color="magenta"];4518 -> 4576[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4519[label="Zero",fontsize=16,color="green",shape="box"];4520[label="Zero",fontsize=16,color="green",shape="box"];4521[label="Zero",fontsize=16,color="green",shape="box"];5711 -> 5719[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5711[label="gcd2 (Pos vuz325 == fromInt (Pos Zero)) (Pos vuz325) vuz324",fontsize=16,color="magenta"];5711 -> 5720[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 487[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Pos Zero) True)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];487 -> 531[label="",style="solid", color="black", weight=3]; 102.84/63.26 490[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];490 -> 534[label="",style="solid", color="black", weight=3]; 102.84/63.26 491[label="primQuotInt (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) True)) (reduce2D (primMulInt (Pos vuz80) (signumReal0 (Neg Zero) True)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];491 -> 535[label="",style="solid", color="black", weight=3]; 102.84/63.26 494[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Pos (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Pos (Succ Zero)))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];494 -> 538[label="",style="solid", color="black", weight=3]; 102.84/63.26 6938 -> 6954[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6938[label="gcd2 (Neg vuz412 == fromInt (Pos Zero)) (Neg vuz412) vuz411",fontsize=16,color="magenta"];6938 -> 6955[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 497[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Pos Zero) True)) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];497 -> 541[label="",style="solid", color="black", weight=3]; 102.84/63.26 500[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];500 -> 544[label="",style="solid", color="black", weight=3]; 102.84/63.26 501[label="primQuotInt (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) True)) (reduce2D (primMulInt (Neg vuz80) (signumReal0 (Neg Zero) True)) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];501 -> 545[label="",style="solid", color="black", weight=3]; 102.84/63.26 504[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd3 (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];504 -> 548[label="",style="solid", color="black", weight=3]; 102.84/63.26 505 -> 549[label="",style="dashed", color="red", weight=0]; 102.84/63.26 505[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];505 -> 550[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 506 -> 549[label="",style="dashed", color="red", weight=0]; 102.84/63.26 506[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];506 -> 551[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 507 -> 552[label="",style="dashed", color="red", weight=0]; 102.84/63.26 507[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];507 -> 553[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 508 -> 552[label="",style="dashed", color="red", weight=0]; 102.84/63.26 508[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];508 -> 554[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 509[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];509 -> 555[label="",style="solid", color="black", weight=3]; 102.84/63.26 510 -> 556[label="",style="dashed", color="red", weight=0]; 102.84/63.26 510[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];510 -> 557[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 511 -> 556[label="",style="dashed", color="red", weight=0]; 102.84/63.26 511[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];511 -> 558[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 512 -> 559[label="",style="dashed", color="red", weight=0]; 102.84/63.26 512[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];512 -> 560[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 513 -> 559[label="",style="dashed", color="red", weight=0]; 102.84/63.26 513[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];513 -> 561[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5713 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5713[label="vuz323 * signum (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5713 -> 5721[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5712[label="gcd2 vuz335 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8399[label="vuz335/False",fontsize=10,color="white",style="solid",shape="box"];5712 -> 8399[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8399 -> 5722[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8400[label="vuz335/True",fontsize=10,color="white",style="solid",shape="box"];5712 -> 8400[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8400 -> 5723[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5714[label="vuz322 * signum (Pos Zero)",fontsize=16,color="black",shape="triangle"];5714 -> 5724[label="",style="solid", color="black", weight=3]; 102.84/63.26 5715[label="gcd2 False (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5715 -> 5725[label="",style="solid", color="black", weight=3]; 102.84/63.26 5716[label="gcd2 True (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="black",shape="box"];5716 -> 5726[label="",style="solid", color="black", weight=3]; 102.84/63.26 5717[label="primDivNatS0 vuz3010 vuz31900 (primGEqNatS vuz3010 vuz31900)",fontsize=16,color="burlywood",shape="box"];8401[label="vuz3010/Succ vuz30100",fontsize=10,color="white",style="solid",shape="box"];5717 -> 8401[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8401 -> 5727[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8402[label="vuz3010/Zero",fontsize=10,color="white",style="solid",shape="box"];5717 -> 8402[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8402 -> 5728[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5718[label="Zero",fontsize=16,color="green",shape="box"];5664[label="vuz8",fontsize=16,color="green",shape="box"];5665[label="gcd (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5665 -> 5729[label="",style="solid", color="black", weight=3]; 102.84/63.26 6939[label="vuz410 * signum (Neg Zero)",fontsize=16,color="black",shape="triangle"];6939 -> 6956[label="",style="solid", color="black", weight=3]; 102.84/63.26 6940[label="gcd2 False (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6940 -> 6957[label="",style="solid", color="black", weight=3]; 102.84/63.26 6941[label="gcd2 True (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="black",shape="box"];6941 -> 6958[label="",style="solid", color="black", weight=3]; 102.84/63.26 520 -> 569[label="",style="dashed", color="red", weight=0]; 102.84/63.26 520[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];520 -> 570[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 520 -> 571[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 522 -> 131[label="",style="dashed", color="red", weight=0]; 102.84/63.26 522[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];523 -> 131[label="",style="dashed", color="red", weight=0]; 102.84/63.26 523[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];521[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz24 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8403[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];521 -> 8403[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8403 -> 572[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8404[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];521 -> 8404[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8404 -> 573[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 524[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];524 -> 574[label="",style="solid", color="black", weight=3]; 102.84/63.26 526 -> 133[label="",style="dashed", color="red", weight=0]; 102.84/63.26 526[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];527 -> 133[label="",style="dashed", color="red", weight=0]; 102.84/63.26 527[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];525[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz26 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8405[label="vuz26/False",fontsize=10,color="white",style="solid",shape="box"];525 -> 8405[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8405 -> 575[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8406[label="vuz26/True",fontsize=10,color="white",style="solid",shape="box"];525 -> 8406[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8406 -> 576[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 528[label="primQuotInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Pos (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];528 -> 577[label="",style="solid", color="black", weight=3]; 102.84/63.26 4576 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4576[label="primMulNat vuz23600 (Succ vuz27500)",fontsize=16,color="magenta"];4576 -> 4658[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4576 -> 4659[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4551[label="primPlusNat vuz285 (Succ vuz27500)",fontsize=16,color="burlywood",shape="triangle"];8407[label="vuz285/Succ vuz2850",fontsize=10,color="white",style="solid",shape="box"];4551 -> 8407[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8407 -> 4579[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8408[label="vuz285/Zero",fontsize=10,color="white",style="solid",shape="box"];4551 -> 8408[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8408 -> 4580[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5720 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5720[label="Pos vuz325 == fromInt (Pos Zero)",fontsize=16,color="magenta"];5720 -> 5730[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5719[label="gcd2 vuz337 (Pos vuz325) vuz324",fontsize=16,color="burlywood",shape="triangle"];8409[label="vuz337/False",fontsize=10,color="white",style="solid",shape="box"];5719 -> 8409[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8409 -> 5731[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8410[label="vuz337/True",fontsize=10,color="white",style="solid",shape="box"];5719 -> 8410[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8410 -> 5732[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 531[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];531 -> 581[label="",style="solid", color="black", weight=3]; 102.84/63.26 534[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];534 -> 585[label="",style="solid", color="black", weight=3]; 102.84/63.26 535[label="primQuotInt (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Pos vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];535 -> 586[label="",style="solid", color="black", weight=3]; 102.84/63.26 538[label="primQuotInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Pos (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];538 -> 590[label="",style="solid", color="black", weight=3]; 102.84/63.26 6955 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6955[label="Neg vuz412 == fromInt (Pos Zero)",fontsize=16,color="magenta"];6955 -> 6959[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6954[label="gcd2 vuz419 (Neg vuz412) vuz411",fontsize=16,color="burlywood",shape="triangle"];8411[label="vuz419/False",fontsize=10,color="white",style="solid",shape="box"];6954 -> 8411[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8411 -> 6960[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8412[label="vuz419/True",fontsize=10,color="white",style="solid",shape="box"];6954 -> 8412[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8412 -> 6961[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 541[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];541 -> 594[label="",style="solid", color="black", weight=3]; 102.84/63.26 544[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];544 -> 598[label="",style="solid", color="black", weight=3]; 102.84/63.26 545[label="primQuotInt (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (reduce2D (primMulInt (Neg vuz80) (fromInt (Neg (Succ Zero)))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];545 -> 599[label="",style="solid", color="black", weight=3]; 102.84/63.26 548[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];548 -> 603[label="",style="solid", color="black", weight=3]; 102.84/63.26 550 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 550[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];550 -> 2689[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 550 -> 2690[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 549[label="Integer (Pos Zero) `quot` gcd2 vuz27 (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8413[label="vuz27/False",fontsize=10,color="white",style="solid",shape="box"];549 -> 8413[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8413 -> 604[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8414[label="vuz27/True",fontsize=10,color="white",style="solid",shape="box"];549 -> 8414[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8414 -> 605[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 551 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 551[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];551 -> 2691[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 551 -> 2692[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 553 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 553[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];553 -> 2693[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 553 -> 2694[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 552[label="Integer (Neg Zero) `quot` gcd2 vuz28 (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="burlywood",shape="triangle"];8415[label="vuz28/False",fontsize=10,color="white",style="solid",shape="box"];552 -> 8415[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8415 -> 606[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8416[label="vuz28/True",fontsize=10,color="white",style="solid",shape="box"];552 -> 8416[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8416 -> 607[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 554 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 554[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];554 -> 2695[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 554 -> 2696[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 555[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd3 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];555 -> 608[label="",style="solid", color="black", weight=3]; 102.84/63.26 557 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 557[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];557 -> 2697[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 557 -> 2698[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 556[label="Integer (Pos Zero) `quot` gcd2 vuz29 (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8417[label="vuz29/False",fontsize=10,color="white",style="solid",shape="box"];556 -> 8417[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8417 -> 609[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8418[label="vuz29/True",fontsize=10,color="white",style="solid",shape="box"];556 -> 8418[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8418 -> 610[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 558 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 558[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];558 -> 2699[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 558 -> 2700[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 560 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 560[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];560 -> 2701[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 560 -> 2702[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 559[label="Integer (Neg Zero) `quot` gcd2 vuz30 (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="burlywood",shape="triangle"];8419[label="vuz30/False",fontsize=10,color="white",style="solid",shape="box"];559 -> 8419[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8419 -> 611[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8420[label="vuz30/True",fontsize=10,color="white",style="solid",shape="box"];559 -> 8420[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8420 -> 612[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 561 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 561[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];561 -> 2703[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 561 -> 2704[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5721[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5721 -> 5812[label="",style="solid", color="black", weight=3]; 102.84/63.26 5722[label="gcd2 False (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5722 -> 5813[label="",style="solid", color="black", weight=3]; 102.84/63.26 5723[label="gcd2 True (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5723 -> 5814[label="",style="solid", color="black", weight=3]; 102.84/63.26 5724[label="primMulInt vuz322 (signum (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8421[label="vuz322/Pos vuz3220",fontsize=10,color="white",style="solid",shape="box"];5724 -> 8421[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8421 -> 5815[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8422[label="vuz322/Neg vuz3220",fontsize=10,color="white",style="solid",shape="box"];5724 -> 8422[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8422 -> 5816[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5725 -> 5817[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5725[label="gcd0 (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5725 -> 5818[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5726 -> 5819[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5726[label="gcd1 (Pos Zero == fromInt (Pos Zero)) (vuz322 * signum (Pos Zero)) (Pos Zero)",fontsize=16,color="magenta"];5726 -> 5820[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5726 -> 5821[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5727[label="primDivNatS0 (Succ vuz30100) vuz31900 (primGEqNatS (Succ vuz30100) vuz31900)",fontsize=16,color="burlywood",shape="box"];8423[label="vuz31900/Succ vuz319000",fontsize=10,color="white",style="solid",shape="box"];5727 -> 8423[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8423 -> 5822[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8424[label="vuz31900/Zero",fontsize=10,color="white",style="solid",shape="box"];5727 -> 8424[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8424 -> 5823[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5728[label="primDivNatS0 Zero vuz31900 (primGEqNatS Zero vuz31900)",fontsize=16,color="burlywood",shape="box"];8425[label="vuz31900/Succ vuz319000",fontsize=10,color="white",style="solid",shape="box"];5728 -> 8425[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8425 -> 5824[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8426[label="vuz31900/Zero",fontsize=10,color="white",style="solid",shape="box"];5728 -> 8426[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8426 -> 5825[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5729[label="gcd3 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5729 -> 5826[label="",style="solid", color="black", weight=3]; 102.84/63.26 6956[label="primMulInt vuz410 (signum (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8427[label="vuz410/Pos vuz4100",fontsize=10,color="white",style="solid",shape="box"];6956 -> 8427[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8427 -> 7005[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8428[label="vuz410/Neg vuz4100",fontsize=10,color="white",style="solid",shape="box"];6956 -> 8428[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8428 -> 7006[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 6957 -> 7007[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6957[label="gcd0 (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6957 -> 7008[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6958 -> 7009[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6958[label="gcd1 (Neg Zero == fromInt (Pos Zero)) (vuz410 * signum (Neg Zero)) (Neg Zero)",fontsize=16,color="magenta"];6958 -> 7010[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6958 -> 7011[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 570 -> 148[label="",style="dashed", color="red", weight=0]; 102.84/63.26 570[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];570 -> 620[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 571 -> 148[label="",style="dashed", color="red", weight=0]; 102.84/63.26 571[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];571 -> 621[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 569[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz32 == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8429[label="vuz32/False",fontsize=10,color="white",style="solid",shape="box"];569 -> 8429[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8429 -> 622[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8430[label="vuz32/True",fontsize=10,color="white",style="solid",shape="box"];569 -> 8430[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8430 -> 623[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 572[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];572 -> 624[label="",style="solid", color="black", weight=3]; 102.84/63.26 573[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos Zero)) vuz23) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];573 -> 625[label="",style="solid", color="black", weight=3]; 102.84/63.26 574[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal3 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer vuz8 * signumReal3 (Integer (Neg (Succ vuz900)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];574 -> 626[label="",style="solid", color="black", weight=3]; 102.84/63.26 575[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];575 -> 627[label="",style="solid", color="black", weight=3]; 102.84/63.26 576[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg Zero)) vuz25) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];576 -> 628[label="",style="solid", color="black", weight=3]; 102.84/63.26 577 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 577[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];577 -> 5469[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 577 -> 5470[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4658[label="Succ vuz27500",fontsize=16,color="green",shape="box"];4659[label="vuz23600",fontsize=16,color="green",shape="box"];4579[label="primPlusNat (Succ vuz2850) (Succ vuz27500)",fontsize=16,color="black",shape="box"];4579 -> 4655[label="",style="solid", color="black", weight=3]; 102.84/63.26 4580[label="primPlusNat Zero (Succ vuz27500)",fontsize=16,color="black",shape="box"];4580 -> 4656[label="",style="solid", color="black", weight=3]; 102.84/63.26 5730[label="Pos vuz325",fontsize=16,color="green",shape="box"];5731[label="gcd2 False (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5731 -> 5827[label="",style="solid", color="black", weight=3]; 102.84/63.26 5732[label="gcd2 True (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5732 -> 5828[label="",style="solid", color="black", weight=3]; 102.84/63.26 581[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];581 -> 632[label="",style="solid", color="black", weight=3]; 102.84/63.26 585 -> 6450[label="",style="dashed", color="red", weight=0]; 102.84/63.26 585[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="magenta"];585 -> 6511[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 585 -> 6512[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 586[label="primQuotInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Pos vuz80) (Neg (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];586 -> 636[label="",style="solid", color="black", weight=3]; 102.84/63.26 590 -> 6450[label="",style="dashed", color="red", weight=0]; 102.84/63.26 590[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900))))",fontsize=16,color="magenta"];590 -> 6513[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 590 -> 6514[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6959[label="Neg vuz412",fontsize=16,color="green",shape="box"];6960[label="gcd2 False (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6960 -> 7012[label="",style="solid", color="black", weight=3]; 102.84/63.26 6961[label="gcd2 True (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];6961 -> 7013[label="",style="solid", color="black", weight=3]; 102.84/63.26 594[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="black",shape="box"];594 -> 642[label="",style="solid", color="black", weight=3]; 102.84/63.26 598 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 598[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900))))",fontsize=16,color="magenta"];598 -> 5473[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 598 -> 5474[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 599[label="primQuotInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (reduce2D (primMulInt (Neg vuz80) (Neg (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="black",shape="box"];599 -> 646[label="",style="solid", color="black", weight=3]; 102.84/63.26 603[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];603 -> 649[label="",style="solid", color="black", weight=3]; 102.84/63.26 2689[label="Pos Zero",fontsize=16,color="green",shape="box"];2690[label="Pos Zero",fontsize=16,color="green",shape="box"];604[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];604 -> 650[label="",style="solid", color="black", weight=3]; 102.84/63.26 605[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];605 -> 651[label="",style="solid", color="black", weight=3]; 102.84/63.26 2691[label="Pos Zero",fontsize=16,color="green",shape="box"];2692[label="Pos Zero",fontsize=16,color="green",shape="box"];2693[label="Pos Zero",fontsize=16,color="green",shape="box"];2694[label="Neg Zero",fontsize=16,color="green",shape="box"];606[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];606 -> 652[label="",style="solid", color="black", weight=3]; 102.84/63.26 607[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];607 -> 653[label="",style="solid", color="black", weight=3]; 102.84/63.26 2695[label="Pos Zero",fontsize=16,color="green",shape="box"];2696[label="Neg Zero",fontsize=16,color="green",shape="box"];608[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];608 -> 654[label="",style="solid", color="black", weight=3]; 102.84/63.26 2697[label="Pos Zero",fontsize=16,color="green",shape="box"];2698[label="Pos Zero",fontsize=16,color="green",shape="box"];609[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];609 -> 655[label="",style="solid", color="black", weight=3]; 102.84/63.26 610[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];610 -> 656[label="",style="solid", color="black", weight=3]; 102.84/63.26 2699[label="Pos Zero",fontsize=16,color="green",shape="box"];2700[label="Pos Zero",fontsize=16,color="green",shape="box"];2701[label="Pos Zero",fontsize=16,color="green",shape="box"];2702[label="Neg Zero",fontsize=16,color="green",shape="box"];611[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];611 -> 657[label="",style="solid", color="black", weight=3]; 102.84/63.26 612[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];612 -> 658[label="",style="solid", color="black", weight=3]; 102.84/63.26 2703[label="Pos Zero",fontsize=16,color="green",shape="box"];2704[label="Neg Zero",fontsize=16,color="green",shape="box"];5812[label="primMulInt vuz323 (signum (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8431[label="vuz323/Pos vuz3230",fontsize=10,color="white",style="solid",shape="box"];5812 -> 8431[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8431 -> 5829[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8432[label="vuz323/Neg vuz3230",fontsize=10,color="white",style="solid",shape="box"];5812 -> 8432[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8432 -> 5830[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5813 -> 5831[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5813[label="gcd0 (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5813 -> 5832[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5814 -> 5833[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5814[label="gcd1 (Pos (Succ vuz900) == fromInt (Pos Zero)) (vuz323 * signum (Pos (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5814 -> 5834[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5814 -> 5835[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5815[label="primMulInt (Pos vuz3220) (signum (Pos Zero))",fontsize=16,color="black",shape="box"];5815 -> 5836[label="",style="solid", color="black", weight=3]; 102.84/63.26 5816[label="primMulInt (Neg vuz3220) (signum (Pos Zero))",fontsize=16,color="black",shape="box"];5816 -> 5837[label="",style="solid", color="black", weight=3]; 102.84/63.26 5818 -> 5714[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5818[label="vuz322 * signum (Pos Zero)",fontsize=16,color="magenta"];5817[label="gcd0 vuz344 (Pos Zero)",fontsize=16,color="black",shape="triangle"];5817 -> 5838[label="",style="solid", color="black", weight=3]; 102.84/63.26 5820 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5820[label="Pos Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];5820 -> 5839[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5821 -> 5714[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5821[label="vuz322 * signum (Pos Zero)",fontsize=16,color="magenta"];5819[label="gcd1 vuz346 vuz345 (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];8433[label="vuz346/False",fontsize=10,color="white",style="solid",shape="box"];5819 -> 8433[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8433 -> 5840[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8434[label="vuz346/True",fontsize=10,color="white",style="solid",shape="box"];5819 -> 8434[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8434 -> 5841[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5822[label="primDivNatS0 (Succ vuz30100) (Succ vuz319000) (primGEqNatS (Succ vuz30100) (Succ vuz319000))",fontsize=16,color="black",shape="box"];5822 -> 5842[label="",style="solid", color="black", weight=3]; 102.84/63.26 5823[label="primDivNatS0 (Succ vuz30100) Zero (primGEqNatS (Succ vuz30100) Zero)",fontsize=16,color="black",shape="box"];5823 -> 5843[label="",style="solid", color="black", weight=3]; 102.84/63.26 5824[label="primDivNatS0 Zero (Succ vuz319000) (primGEqNatS Zero (Succ vuz319000))",fontsize=16,color="black",shape="box"];5824 -> 5844[label="",style="solid", color="black", weight=3]; 102.84/63.26 5825[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];5825 -> 5845[label="",style="solid", color="black", weight=3]; 102.84/63.26 5826 -> 5846[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5826[label="gcd2 (vuz326 * signum (Neg (Succ vuz900)) == fromInt (Pos Zero)) (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5826 -> 5847[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7005[label="primMulInt (Pos vuz4100) (signum (Neg Zero))",fontsize=16,color="black",shape="box"];7005 -> 7014[label="",style="solid", color="black", weight=3]; 102.84/63.26 7006[label="primMulInt (Neg vuz4100) (signum (Neg Zero))",fontsize=16,color="black",shape="box"];7006 -> 7015[label="",style="solid", color="black", weight=3]; 102.84/63.26 7008 -> 6939[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7008[label="vuz410 * signum (Neg Zero)",fontsize=16,color="magenta"];7007[label="gcd0 vuz421 (Neg Zero)",fontsize=16,color="black",shape="triangle"];7007 -> 7016[label="",style="solid", color="black", weight=3]; 102.84/63.26 7010 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7010[label="Neg Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];7010 -> 7017[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7011 -> 6939[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7011[label="vuz410 * signum (Neg Zero)",fontsize=16,color="magenta"];7009[label="gcd1 vuz423 vuz422 (Neg Zero)",fontsize=16,color="burlywood",shape="triangle"];8435[label="vuz423/False",fontsize=10,color="white",style="solid",shape="box"];7009 -> 8435[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8435 -> 7018[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8436[label="vuz423/True",fontsize=10,color="white",style="solid",shape="box"];7009 -> 8436[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8436 -> 7019[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 620[label="vuz900",fontsize=16,color="green",shape="box"];621[label="vuz900",fontsize=16,color="green",shape="box"];622[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];622 -> 666[label="",style="solid", color="black", weight=3]; 102.84/63.26 623[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Pos (Succ vuz900))) vuz31) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];623 -> 667[label="",style="solid", color="black", weight=3]; 102.84/63.26 624[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (Integer (Pos Zero) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (Integer (Pos Zero) > fromInt (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];624 -> 668[label="",style="solid", color="black", weight=3]; 102.84/63.26 625[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];625 -> 669[label="",style="solid", color="black", weight=3]; 102.84/63.26 626[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == fromInt (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];626 -> 670[label="",style="solid", color="black", weight=3]; 102.84/63.26 627[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (Integer (Neg Zero) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (Integer (Neg Zero) > fromInt (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];627 -> 671[label="",style="solid", color="black", weight=3]; 102.84/63.26 628[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];628 -> 672[label="",style="solid", color="black", weight=3]; 102.84/63.26 5469 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5469[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5469 -> 5666[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5469 -> 5667[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5470 -> 5621[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5470[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5470 -> 5628[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5470 -> 5629[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4655[label="Succ (Succ (primPlusNat vuz2850 vuz27500))",fontsize=16,color="green",shape="box"];4655 -> 4682[label="",style="dashed", color="green", weight=3]; 102.84/63.26 4656[label="Succ vuz27500",fontsize=16,color="green",shape="box"];5827[label="gcd0 (Pos vuz325) vuz324",fontsize=16,color="black",shape="triangle"];5827 -> 5848[label="",style="solid", color="black", weight=3]; 102.84/63.26 5828 -> 5849[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5828[label="gcd1 (vuz324 == fromInt (Pos Zero)) (Pos vuz325) vuz324",fontsize=16,color="magenta"];5828 -> 5850[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 632 -> 6450[label="",style="dashed", color="red", weight=0]; 102.84/63.26 632[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="magenta"];632 -> 6525[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 632 -> 6526[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6511 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6511[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6511 -> 6899[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6511 -> 6900[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6512 -> 6865[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6512[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900)))",fontsize=16,color="magenta"];6512 -> 6872[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6512 -> 6873[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 636 -> 6450[label="",style="dashed", color="red", weight=0]; 102.84/63.26 636[label="primQuotInt (Neg (primMulNat vuz80 (Succ Zero))) (reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="magenta"];636 -> 6529[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 636 -> 6530[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6513 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6513[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6513 -> 6901[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6513 -> 6902[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6514 -> 6865[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6514[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6514 -> 6874[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6514 -> 6875[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7012[label="gcd0 (Neg vuz412) vuz411",fontsize=16,color="black",shape="triangle"];7012 -> 7048[label="",style="solid", color="black", weight=3]; 102.84/63.26 7013 -> 7049[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7013[label="gcd1 (vuz411 == fromInt (Pos Zero)) (Neg vuz412) vuz411",fontsize=16,color="magenta"];7013 -> 7050[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 642 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 642[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero)))",fontsize=16,color="magenta"];642 -> 5481[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 642 -> 5482[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5473 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5473[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5473 -> 5668[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5473 -> 5669[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5474 -> 5621[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5474[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5474 -> 5630[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5474 -> 5631[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 646 -> 5417[label="",style="dashed", color="red", weight=0]; 102.84/63.26 646[label="primQuotInt (Pos (primMulNat vuz80 (Succ Zero))) (reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero)))",fontsize=16,color="magenta"];646 -> 5485[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 646 -> 5486[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 649[label="Integer (primMulInt vuz8 (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8437[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];649 -> 8437[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8437 -> 693[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8438[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];649 -> 8438[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8438 -> 694[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 650[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];650 -> 695[label="",style="solid", color="black", weight=3]; 102.84/63.26 651[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];651 -> 696[label="",style="solid", color="black", weight=3]; 102.84/63.26 652[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];652 -> 697[label="",style="solid", color="black", weight=3]; 102.84/63.26 653[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];653 -> 698[label="",style="solid", color="black", weight=3]; 102.84/63.26 654[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];654 -> 699[label="",style="solid", color="black", weight=3]; 102.84/63.26 655[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];655 -> 700[label="",style="solid", color="black", weight=3]; 102.84/63.26 656[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];656 -> 701[label="",style="solid", color="black", weight=3]; 102.84/63.26 657[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];657 -> 702[label="",style="solid", color="black", weight=3]; 102.84/63.26 658[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];658 -> 703[label="",style="solid", color="black", weight=3]; 102.84/63.26 5829[label="primMulInt (Pos vuz3230) (signum (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5829 -> 5851[label="",style="solid", color="black", weight=3]; 102.84/63.26 5830[label="primMulInt (Neg vuz3230) (signum (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5830 -> 5852[label="",style="solid", color="black", weight=3]; 102.84/63.26 5832 -> 5721[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5832[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="magenta"];5831[label="gcd0 vuz348 (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5831 -> 5853[label="",style="solid", color="black", weight=3]; 102.84/63.26 5834 -> 5721[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5834[label="vuz323 * signum (Pos (Succ vuz900))",fontsize=16,color="magenta"];5835 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5835[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5835 -> 5854[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5833[label="gcd1 vuz350 vuz349 (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8439[label="vuz350/False",fontsize=10,color="white",style="solid",shape="box"];5833 -> 8439[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8439 -> 5855[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8440[label="vuz350/True",fontsize=10,color="white",style="solid",shape="box"];5833 -> 8440[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8440 -> 5856[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5836 -> 6106[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5836[label="primMulInt (Pos vuz3220) (signumReal (Pos Zero))",fontsize=16,color="magenta"];5836 -> 6107[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5837 -> 6140[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5837[label="primMulInt (Neg vuz3220) (signumReal (Pos Zero))",fontsize=16,color="magenta"];5837 -> 6141[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5838 -> 4166[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5838[label="gcd0Gcd' (abs vuz344) (abs (Pos Zero))",fontsize=16,color="magenta"];5838 -> 5859[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5838 -> 5860[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5839[label="Pos Zero",fontsize=16,color="green",shape="box"];5840[label="gcd1 False vuz345 (Pos Zero)",fontsize=16,color="black",shape="box"];5840 -> 5861[label="",style="solid", color="black", weight=3]; 102.84/63.26 5841[label="gcd1 True vuz345 (Pos Zero)",fontsize=16,color="black",shape="box"];5841 -> 5862[label="",style="solid", color="black", weight=3]; 102.84/63.26 5842 -> 7477[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5842[label="primDivNatS0 (Succ vuz30100) (Succ vuz319000) (primGEqNatS vuz30100 vuz319000)",fontsize=16,color="magenta"];5842 -> 7478[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5842 -> 7479[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5842 -> 7480[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5842 -> 7481[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5843[label="primDivNatS0 (Succ vuz30100) Zero True",fontsize=16,color="black",shape="box"];5843 -> 5865[label="",style="solid", color="black", weight=3]; 102.84/63.26 5844[label="primDivNatS0 Zero (Succ vuz319000) False",fontsize=16,color="black",shape="box"];5844 -> 5866[label="",style="solid", color="black", weight=3]; 102.84/63.26 5845[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];5845 -> 5867[label="",style="solid", color="black", weight=3]; 102.84/63.26 5847 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5847[label="vuz326 * signum (Neg (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5847 -> 5868[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5846[label="gcd2 vuz352 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="burlywood",shape="triangle"];8441[label="vuz352/False",fontsize=10,color="white",style="solid",shape="box"];5846 -> 8441[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8441 -> 5869[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8442[label="vuz352/True",fontsize=10,color="white",style="solid",shape="box"];5846 -> 8442[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8442 -> 5870[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 7014 -> 6106[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7014[label="primMulInt (Pos vuz4100) (signumReal (Neg Zero))",fontsize=16,color="magenta"];7014 -> 7051[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7014 -> 7052[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7015 -> 6140[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7015[label="primMulInt (Neg vuz4100) (signumReal (Neg Zero))",fontsize=16,color="magenta"];7015 -> 7053[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7015 -> 7054[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7016 -> 4166[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7016[label="gcd0Gcd' (abs vuz421) (abs (Neg Zero))",fontsize=16,color="magenta"];7016 -> 7055[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7016 -> 7056[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7017[label="Neg Zero",fontsize=16,color="green",shape="box"];7018[label="gcd1 False vuz422 (Neg Zero)",fontsize=16,color="black",shape="box"];7018 -> 7057[label="",style="solid", color="black", weight=3]; 102.84/63.26 7019[label="gcd1 True vuz422 (Neg Zero)",fontsize=16,color="black",shape="box"];7019 -> 7058[label="",style="solid", color="black", weight=3]; 102.84/63.26 666[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (Integer (Pos (Succ vuz900)) > fromInt (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];666 -> 712[label="",style="solid", color="black", weight=3]; 102.84/63.26 667[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * fromInt (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos Zero)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];667 -> 713[label="",style="solid", color="black", weight=3]; 102.84/63.26 668[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];668 -> 714[label="",style="solid", color="black", weight=3]; 102.84/63.26 669[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];669 -> 715[label="",style="solid", color="black", weight=3]; 102.84/63.26 670[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) == Integer (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];670 -> 716[label="",style="solid", color="black", weight=3]; 102.84/63.26 671[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];671 -> 717[label="",style="solid", color="black", weight=3]; 102.84/63.26 672[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];672 -> 718[label="",style="solid", color="black", weight=3]; 102.84/63.26 5666[label="Succ Zero",fontsize=16,color="green",shape="box"];5667[label="vuz80",fontsize=16,color="green",shape="box"];5628 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5628[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5628 -> 5670[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5628 -> 5671[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5629 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5629[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5629 -> 5672[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4682[label="primPlusNat vuz2850 vuz27500",fontsize=16,color="burlywood",shape="triangle"];8443[label="vuz2850/Succ vuz28500",fontsize=10,color="white",style="solid",shape="box"];4682 -> 8443[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8443 -> 4705[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8444[label="vuz2850/Zero",fontsize=10,color="white",style="solid",shape="box"];4682 -> 8444[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8444 -> 4706[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5848 -> 4166[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5848[label="gcd0Gcd' (abs (Pos vuz325)) (abs vuz324)",fontsize=16,color="magenta"];5848 -> 5871[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5848 -> 5872[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5850 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5850[label="vuz324 == fromInt (Pos Zero)",fontsize=16,color="magenta"];5850 -> 5873[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5849[label="gcd1 vuz354 (Pos vuz325) vuz324",fontsize=16,color="burlywood",shape="triangle"];8445[label="vuz354/False",fontsize=10,color="white",style="solid",shape="box"];5849 -> 8445[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8445 -> 5874[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8446[label="vuz354/True",fontsize=10,color="white",style="solid",shape="box"];5849 -> 8446[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8446 -> 5875[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 6525 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6525[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6525 -> 6903[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6525 -> 6904[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6526 -> 6865[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6526[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero))",fontsize=16,color="magenta"];6526 -> 6876[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6526 -> 6877[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6899[label="Succ Zero",fontsize=16,color="green",shape="box"];6900[label="vuz80",fontsize=16,color="green",shape="box"];6872 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6872[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6872 -> 6905[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6872 -> 6906[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6873 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6873[label="abs (Neg (Succ vuz900))",fontsize=16,color="magenta"];6873 -> 6907[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6529 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6529[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6529 -> 6908[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6529 -> 6909[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6530 -> 6865[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6530[label="reduce2D (Neg (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero))",fontsize=16,color="magenta"];6530 -> 6878[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6530 -> 6879[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6901[label="Succ Zero",fontsize=16,color="green",shape="box"];6902[label="vuz80",fontsize=16,color="green",shape="box"];6874 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6874[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6874 -> 6910[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6874 -> 6911[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6875 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6875[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];6875 -> 6912[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7048 -> 4166[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7048[label="gcd0Gcd' (abs (Neg vuz412)) (abs vuz411)",fontsize=16,color="magenta"];7048 -> 7059[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7048 -> 7060[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7050 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7050[label="vuz411 == fromInt (Pos Zero)",fontsize=16,color="magenta"];7050 -> 7061[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7049[label="gcd1 vuz425 (Neg vuz412) vuz411",fontsize=16,color="burlywood",shape="triangle"];8447[label="vuz425/False",fontsize=10,color="white",style="solid",shape="box"];7049 -> 8447[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8447 -> 7062[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8448[label="vuz425/True",fontsize=10,color="white",style="solid",shape="box"];7049 -> 8448[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8448 -> 7063[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5481 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5481[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5481 -> 5673[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5481 -> 5674[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5482 -> 5621[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5482[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Pos Zero))",fontsize=16,color="magenta"];5482 -> 5632[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5482 -> 5633[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5668[label="Succ Zero",fontsize=16,color="green",shape="box"];5669[label="vuz80",fontsize=16,color="green",shape="box"];5630 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5630[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5630 -> 5675[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5630 -> 5676[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5631 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5631[label="abs (Neg (Succ vuz900))",fontsize=16,color="magenta"];5631 -> 5677[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5485 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5485[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5485 -> 5678[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5485 -> 5679[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5486 -> 5621[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5486[label="reduce2D (Pos (primMulNat vuz80 (Succ Zero))) (abs (Neg Zero))",fontsize=16,color="magenta"];5486 -> 5634[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5486 -> 5635[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 693[label="Integer (primMulInt (Pos vuz80) (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];693 -> 739[label="",style="solid", color="black", weight=3]; 102.84/63.26 694[label="Integer (primMulInt (Neg vuz80) (Pos (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];694 -> 740[label="",style="solid", color="black", weight=3]; 102.84/63.26 695[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];695 -> 741[label="",style="solid", color="black", weight=3]; 102.84/63.26 696[label="Integer (Pos Zero) `quot` gcd1 (absReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];696 -> 742[label="",style="solid", color="black", weight=3]; 102.84/63.26 697[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];697 -> 743[label="",style="solid", color="black", weight=3]; 102.84/63.26 698[label="Integer (Neg Zero) `quot` gcd1 (absReal (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];698 -> 744[label="",style="solid", color="black", weight=3]; 102.84/63.26 699[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt vuz8 (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8449[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];699 -> 8449[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8449 -> 745[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8450[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];699 -> 8450[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8450 -> 746[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 700[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];700 -> 747[label="",style="solid", color="black", weight=3]; 102.84/63.26 701[label="Integer (Pos Zero) `quot` gcd1 (absReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];701 -> 748[label="",style="solid", color="black", weight=3]; 102.84/63.26 702[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];702 -> 749[label="",style="solid", color="black", weight=3]; 102.84/63.26 703[label="Integer (Neg Zero) `quot` gcd1 (absReal (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];703 -> 750[label="",style="solid", color="black", weight=3]; 102.84/63.26 5851 -> 6106[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5851[label="primMulInt (Pos vuz3230) (signumReal (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5851 -> 6108[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5851 -> 6109[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5852 -> 6140[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5852[label="primMulInt (Neg vuz3230) (signumReal (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5852 -> 6142[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5852 -> 6143[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5853 -> 4166[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5853[label="gcd0Gcd' (abs vuz348) (abs (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5853 -> 5891[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5853 -> 5892[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5854[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5855[label="gcd1 False vuz349 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5855 -> 5893[label="",style="solid", color="black", weight=3]; 102.84/63.26 5856[label="gcd1 True vuz349 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5856 -> 5894[label="",style="solid", color="black", weight=3]; 102.84/63.26 6107[label="signumReal (Pos Zero)",fontsize=16,color="black",shape="triangle"];6107 -> 6130[label="",style="solid", color="black", weight=3]; 102.84/63.26 6106[label="primMulInt (Pos vuz3220) vuz374",fontsize=16,color="burlywood",shape="triangle"];8451[label="vuz374/Pos vuz3740",fontsize=10,color="white",style="solid",shape="box"];6106 -> 8451[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8451 -> 6131[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8452[label="vuz374/Neg vuz3740",fontsize=10,color="white",style="solid",shape="box"];6106 -> 8452[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8452 -> 6132[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 6141 -> 6107[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6141[label="signumReal (Pos Zero)",fontsize=16,color="magenta"];6140[label="primMulInt (Neg vuz3220) vuz376",fontsize=16,color="burlywood",shape="triangle"];8453[label="vuz376/Pos vuz3760",fontsize=10,color="white",style="solid",shape="box"];6140 -> 8453[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8453 -> 6164[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8454[label="vuz376/Neg vuz3760",fontsize=10,color="white",style="solid",shape="box"];6140 -> 8454[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8454 -> 6165[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5859 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5859[label="abs vuz344",fontsize=16,color="magenta"];5859 -> 5897[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5860 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5860[label="abs (Pos Zero)",fontsize=16,color="magenta"];5860 -> 5898[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4166[label="gcd0Gcd' vuz259 vuz258",fontsize=16,color="black",shape="triangle"];4166 -> 4188[label="",style="solid", color="black", weight=3]; 102.84/63.26 5861 -> 5817[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5861[label="gcd0 vuz345 (Pos Zero)",fontsize=16,color="magenta"];5861 -> 5899[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5862 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5862[label="error []",fontsize=16,color="magenta"];7478[label="vuz30100",fontsize=16,color="green",shape="box"];7479[label="vuz319000",fontsize=16,color="green",shape="box"];7480[label="vuz319000",fontsize=16,color="green",shape="box"];7481[label="vuz30100",fontsize=16,color="green",shape="box"];7477[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS vuz454 vuz455)",fontsize=16,color="burlywood",shape="triangle"];8455[label="vuz454/Succ vuz4540",fontsize=10,color="white",style="solid",shape="box"];7477 -> 8455[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8455 -> 7514[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8456[label="vuz454/Zero",fontsize=10,color="white",style="solid",shape="box"];7477 -> 8456[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8456 -> 7515[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5865[label="Succ (primDivNatS (primMinusNatS (Succ vuz30100) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5865 -> 5904[label="",style="dashed", color="green", weight=3]; 102.84/63.26 5866[label="Zero",fontsize=16,color="green",shape="box"];5867[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];5867 -> 5905[label="",style="dashed", color="green", weight=3]; 102.84/63.26 5868[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="black",shape="triangle"];5868 -> 5906[label="",style="solid", color="black", weight=3]; 102.84/63.26 5869[label="gcd2 False (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5869 -> 5907[label="",style="solid", color="black", weight=3]; 102.84/63.26 5870[label="gcd2 True (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];5870 -> 5908[label="",style="solid", color="black", weight=3]; 102.84/63.26 7051[label="vuz4100",fontsize=16,color="green",shape="box"];7052[label="signumReal (Neg Zero)",fontsize=16,color="black",shape="triangle"];7052 -> 7079[label="",style="solid", color="black", weight=3]; 102.84/63.26 7053 -> 7052[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7053[label="signumReal (Neg Zero)",fontsize=16,color="magenta"];7054[label="vuz4100",fontsize=16,color="green",shape="box"];7055 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7055[label="abs vuz421",fontsize=16,color="magenta"];7055 -> 7080[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7056 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7056[label="abs (Neg Zero)",fontsize=16,color="magenta"];7056 -> 7081[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7057 -> 7007[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7057[label="gcd0 vuz422 (Neg Zero)",fontsize=16,color="magenta"];7057 -> 7082[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7058 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7058[label="error []",fontsize=16,color="magenta"];712[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];712 -> 785[label="",style="solid", color="black", weight=3]; 102.84/63.26 713[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * Integer (Pos Zero) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos Zero)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];713 -> 786[label="",style="solid", color="black", weight=3]; 102.84/63.26 714[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];714 -> 787[label="",style="solid", color="black", weight=3]; 102.84/63.26 715[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];715 -> 788[label="",style="solid", color="black", weight=3]; 102.84/63.26 716[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) (primEqInt (Neg (Succ vuz900)) (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];716 -> 789[label="",style="solid", color="black", weight=3]; 102.84/63.26 717[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];717 -> 790[label="",style="solid", color="black", weight=3]; 102.84/63.26 718[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];718 -> 791[label="",style="solid", color="black", weight=3]; 102.84/63.26 5670[label="Succ Zero",fontsize=16,color="green",shape="box"];5671[label="vuz80",fontsize=16,color="green",shape="box"];5672[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];4705[label="primPlusNat (Succ vuz28500) vuz27500",fontsize=16,color="burlywood",shape="box"];8457[label="vuz27500/Succ vuz275000",fontsize=10,color="white",style="solid",shape="box"];4705 -> 8457[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8457 -> 4758[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8458[label="vuz27500/Zero",fontsize=10,color="white",style="solid",shape="box"];4705 -> 8458[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8458 -> 4759[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 4706[label="primPlusNat Zero vuz27500",fontsize=16,color="burlywood",shape="box"];8459[label="vuz27500/Succ vuz275000",fontsize=10,color="white",style="solid",shape="box"];4706 -> 8459[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8459 -> 4760[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8460[label="vuz27500/Zero",fontsize=10,color="white",style="solid",shape="box"];4706 -> 8460[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8460 -> 4761[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5871 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5871[label="abs (Pos vuz325)",fontsize=16,color="magenta"];5871 -> 5909[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5872 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5872[label="abs vuz324",fontsize=16,color="magenta"];5872 -> 5910[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5873[label="vuz324",fontsize=16,color="green",shape="box"];5874[label="gcd1 False (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5874 -> 5911[label="",style="solid", color="black", weight=3]; 102.84/63.26 5875[label="gcd1 True (Pos vuz325) vuz324",fontsize=16,color="black",shape="box"];5875 -> 5912[label="",style="solid", color="black", weight=3]; 102.84/63.26 6903[label="Succ Zero",fontsize=16,color="green",shape="box"];6904[label="vuz80",fontsize=16,color="green",shape="box"];6876 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6876[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6876 -> 6913[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6876 -> 6914[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6877 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6877[label="abs (Pos Zero)",fontsize=16,color="magenta"];6877 -> 6915[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6905[label="Succ Zero",fontsize=16,color="green",shape="box"];6906[label="vuz80",fontsize=16,color="green",shape="box"];6907[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];6908[label="Succ Zero",fontsize=16,color="green",shape="box"];6909[label="vuz80",fontsize=16,color="green",shape="box"];6878 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6878[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6878 -> 6916[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6878 -> 6917[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6879 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6879[label="abs (Neg Zero)",fontsize=16,color="magenta"];6879 -> 6918[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6910[label="Succ Zero",fontsize=16,color="green",shape="box"];6911[label="vuz80",fontsize=16,color="green",shape="box"];6912[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];7059 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7059[label="abs (Neg vuz412)",fontsize=16,color="magenta"];7059 -> 7083[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7060 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7060[label="abs vuz411",fontsize=16,color="magenta"];7060 -> 7084[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7061[label="vuz411",fontsize=16,color="green",shape="box"];7062[label="gcd1 False (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];7062 -> 7085[label="",style="solid", color="black", weight=3]; 102.84/63.26 7063[label="gcd1 True (Neg vuz412) vuz411",fontsize=16,color="black",shape="box"];7063 -> 7086[label="",style="solid", color="black", weight=3]; 102.84/63.26 5673[label="Succ Zero",fontsize=16,color="green",shape="box"];5674[label="vuz80",fontsize=16,color="green",shape="box"];5632 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5632[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5632 -> 5680[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5632 -> 5681[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5633 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5633[label="abs (Pos Zero)",fontsize=16,color="magenta"];5633 -> 5682[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5675[label="Succ Zero",fontsize=16,color="green",shape="box"];5676[label="vuz80",fontsize=16,color="green",shape="box"];5677[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];5678[label="Succ Zero",fontsize=16,color="green",shape="box"];5679[label="vuz80",fontsize=16,color="green",shape="box"];5634 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5634[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5634 -> 5683[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5634 -> 5684[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5635 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5635[label="abs (Neg Zero)",fontsize=16,color="magenta"];5635 -> 5685[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 739[label="Integer (Pos (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8461[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];739 -> 8461[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8461 -> 812[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8462[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];739 -> 8462[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8462 -> 813[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 740[label="Integer (Neg (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="box"];8463[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];740 -> 8463[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8463 -> 814[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8464[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];740 -> 8464[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8464 -> 815[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 741[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];741 -> 816[label="",style="solid", color="black", weight=3]; 102.84/63.26 742[label="Integer (Pos Zero) `quot` gcd1 (absReal2 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal2 (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];742 -> 817[label="",style="solid", color="black", weight=3]; 102.84/63.26 743[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];743 -> 818[label="",style="solid", color="black", weight=3]; 102.84/63.26 744[label="Integer (Neg Zero) `quot` gcd1 (absReal2 (Integer (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal2 (Integer (Pos Zero)))",fontsize=16,color="black",shape="box"];744 -> 819[label="",style="solid", color="black", weight=3]; 102.84/63.26 745[label="Integer (primMulInt (Pos vuz80) (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];745 -> 820[label="",style="solid", color="black", weight=3]; 102.84/63.26 746[label="Integer (primMulInt (Neg vuz80) (Neg (Succ Zero))) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Neg (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Neg (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];746 -> 821[label="",style="solid", color="black", weight=3]; 102.84/63.26 747[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];747 -> 822[label="",style="solid", color="black", weight=3]; 102.84/63.26 748[label="Integer (Pos Zero) `quot` gcd1 (absReal2 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal2 (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];748 -> 823[label="",style="solid", color="black", weight=3]; 102.84/63.26 749[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];749 -> 824[label="",style="solid", color="black", weight=3]; 102.84/63.26 750[label="Integer (Neg Zero) `quot` gcd1 (absReal2 (Integer (Neg Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal2 (Integer (Neg Zero)))",fontsize=16,color="black",shape="box"];750 -> 825[label="",style="solid", color="black", weight=3]; 102.84/63.26 6108[label="vuz3230",fontsize=16,color="green",shape="box"];6109[label="signumReal (Pos (Succ vuz900))",fontsize=16,color="black",shape="triangle"];6109 -> 6133[label="",style="solid", color="black", weight=3]; 102.84/63.26 6142 -> 6109[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6142[label="signumReal (Pos (Succ vuz900))",fontsize=16,color="magenta"];6143[label="vuz3230",fontsize=16,color="green",shape="box"];5891 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5891[label="abs vuz348",fontsize=16,color="magenta"];5891 -> 5948[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5892 -> 2348[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5892[label="abs (Pos (Succ vuz900))",fontsize=16,color="magenta"];5892 -> 5949[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5893 -> 5831[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5893[label="gcd0 vuz349 (Pos (Succ vuz900))",fontsize=16,color="magenta"];5893 -> 5950[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5894 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5894[label="error []",fontsize=16,color="magenta"];6130[label="signumReal3 (Pos Zero)",fontsize=16,color="black",shape="box"];6130 -> 6136[label="",style="solid", color="black", weight=3]; 102.84/63.26 6131[label="primMulInt (Pos vuz3220) (Pos vuz3740)",fontsize=16,color="black",shape="box"];6131 -> 6137[label="",style="solid", color="black", weight=3]; 102.84/63.26 6132[label="primMulInt (Pos vuz3220) (Neg vuz3740)",fontsize=16,color="black",shape="box"];6132 -> 6138[label="",style="solid", color="black", weight=3]; 102.84/63.26 6164[label="primMulInt (Neg vuz3220) (Pos vuz3760)",fontsize=16,color="black",shape="box"];6164 -> 6168[label="",style="solid", color="black", weight=3]; 102.84/63.26 6165[label="primMulInt (Neg vuz3220) (Neg vuz3760)",fontsize=16,color="black",shape="box"];6165 -> 6169[label="",style="solid", color="black", weight=3]; 102.84/63.26 5897[label="vuz344",fontsize=16,color="green",shape="box"];5898[label="Pos Zero",fontsize=16,color="green",shape="box"];4188[label="gcd0Gcd'2 vuz259 vuz258",fontsize=16,color="black",shape="triangle"];4188 -> 4233[label="",style="solid", color="black", weight=3]; 102.84/63.26 5899[label="vuz345",fontsize=16,color="green",shape="box"];7514[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) vuz455)",fontsize=16,color="burlywood",shape="box"];8465[label="vuz455/Succ vuz4550",fontsize=10,color="white",style="solid",shape="box"];7514 -> 8465[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8465 -> 7539[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8466[label="vuz455/Zero",fontsize=10,color="white",style="solid",shape="box"];7514 -> 8466[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8466 -> 7540[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 7515[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero vuz455)",fontsize=16,color="burlywood",shape="box"];8467[label="vuz455/Succ vuz4550",fontsize=10,color="white",style="solid",shape="box"];7515 -> 8467[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8467 -> 7541[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8468[label="vuz455/Zero",fontsize=10,color="white",style="solid",shape="box"];7515 -> 8468[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8468 -> 7542[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5904 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5904[label="primDivNatS (primMinusNatS (Succ vuz30100) Zero) (Succ Zero)",fontsize=16,color="magenta"];5904 -> 5959[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5904 -> 5960[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5905 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5905[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];5905 -> 5961[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5905 -> 5962[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5906[label="primMulInt vuz326 (signum (Neg (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8469[label="vuz326/Pos vuz3260",fontsize=10,color="white",style="solid",shape="box"];5906 -> 8469[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8469 -> 5963[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8470[label="vuz326/Neg vuz3260",fontsize=10,color="white",style="solid",shape="box"];5906 -> 8470[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8470 -> 5964[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5907 -> 5831[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5907[label="gcd0 (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5907 -> 5965[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5907 -> 5966[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5908 -> 5833[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5908[label="gcd1 (Pos (Succ vuz900) == fromInt (Pos Zero)) (vuz326 * signum (Neg (Succ vuz900))) (Pos (Succ vuz900))",fontsize=16,color="magenta"];5908 -> 5967[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5908 -> 5968[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5908 -> 5969[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7079[label="signumReal3 (Neg Zero)",fontsize=16,color="black",shape="box"];7079 -> 7138[label="",style="solid", color="black", weight=3]; 102.84/63.26 7080[label="vuz421",fontsize=16,color="green",shape="box"];7081[label="Neg Zero",fontsize=16,color="green",shape="box"];7082[label="vuz422",fontsize=16,color="green",shape="box"];785[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (compare (Integer (Pos (Succ vuz900))) (Integer (Pos Zero)) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];785 -> 851[label="",style="solid", color="black", weight=3]; 102.84/63.26 786[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];786 -> 852[label="",style="solid", color="black", weight=3]; 102.84/63.26 787[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (primCmpInt (Pos Zero) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (primCmpInt (Pos Zero) (Pos Zero) == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];787 -> 853[label="",style="solid", color="black", weight=3]; 102.84/63.26 788[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];788 -> 854[label="",style="solid", color="black", weight=3]; 102.84/63.26 789[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal2 (Integer (Neg (Succ vuz900))) False) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];789 -> 855[label="",style="solid", color="black", weight=3]; 102.84/63.26 790[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (primCmpInt (Neg Zero) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (primCmpInt (Neg Zero) (Pos Zero) == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];790 -> 856[label="",style="solid", color="black", weight=3]; 102.84/63.26 791[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];791 -> 857[label="",style="solid", color="black", weight=3]; 102.84/63.26 4758[label="primPlusNat (Succ vuz28500) (Succ vuz275000)",fontsize=16,color="black",shape="box"];4758 -> 4782[label="",style="solid", color="black", weight=3]; 102.84/63.26 4759[label="primPlusNat (Succ vuz28500) Zero",fontsize=16,color="black",shape="box"];4759 -> 4783[label="",style="solid", color="black", weight=3]; 102.84/63.26 4760[label="primPlusNat Zero (Succ vuz275000)",fontsize=16,color="black",shape="box"];4760 -> 4784[label="",style="solid", color="black", weight=3]; 102.84/63.26 4761[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];4761 -> 4785[label="",style="solid", color="black", weight=3]; 102.84/63.26 5909[label="Pos vuz325",fontsize=16,color="green",shape="box"];5910[label="vuz324",fontsize=16,color="green",shape="box"];5911 -> 5827[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5911[label="gcd0 (Pos vuz325) vuz324",fontsize=16,color="magenta"];5912 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5912[label="error []",fontsize=16,color="magenta"];6913[label="Succ Zero",fontsize=16,color="green",shape="box"];6914[label="vuz80",fontsize=16,color="green",shape="box"];6915[label="Pos Zero",fontsize=16,color="green",shape="box"];6916[label="Succ Zero",fontsize=16,color="green",shape="box"];6917[label="vuz80",fontsize=16,color="green",shape="box"];6918[label="Neg Zero",fontsize=16,color="green",shape="box"];7083[label="Neg vuz412",fontsize=16,color="green",shape="box"];7084[label="vuz411",fontsize=16,color="green",shape="box"];7085 -> 7012[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7085[label="gcd0 (Neg vuz412) vuz411",fontsize=16,color="magenta"];7086 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7086[label="error []",fontsize=16,color="magenta"];5680[label="Succ Zero",fontsize=16,color="green",shape="box"];5681[label="vuz80",fontsize=16,color="green",shape="box"];5682[label="Pos Zero",fontsize=16,color="green",shape="box"];5683[label="Succ Zero",fontsize=16,color="green",shape="box"];5684[label="vuz80",fontsize=16,color="green",shape="box"];5685[label="Neg Zero",fontsize=16,color="green",shape="box"];812[label="Integer (Pos (primMulNat (Succ vuz800) (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];812 -> 882[label="",style="solid", color="black", weight=3]; 102.84/63.26 813[label="Integer (Pos (primMulNat Zero (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat Zero (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat Zero (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];813 -> 883[label="",style="solid", color="black", weight=3]; 102.84/63.26 814[label="Integer (Neg (primMulNat (Succ vuz800) (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];814 -> 884[label="",style="solid", color="black", weight=3]; 102.84/63.26 815[label="Integer (Neg (primMulNat Zero (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat Zero (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat Zero (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];815 -> 885[label="",style="solid", color="black", weight=3]; 102.84/63.26 816[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];816 -> 886[label="",style="solid", color="black", weight=3]; 102.84/63.26 817[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];817 -> 887[label="",style="solid", color="black", weight=3]; 102.84/63.26 818[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];818 -> 888[label="",style="solid", color="black", weight=3]; 102.84/63.26 819[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];819 -> 889[label="",style="solid", color="black", weight=3]; 102.84/63.26 820 -> 3594[label="",style="dashed", color="red", weight=0]; 102.84/63.26 820[label="Integer (Neg (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="magenta"];820 -> 3595[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 820 -> 3596[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 820 -> 3597[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 821 -> 3690[label="",style="dashed", color="red", weight=0]; 102.84/63.26 821[label="Integer (Pos (primMulNat vuz80 (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="magenta"];821 -> 3691[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 821 -> 3692[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 821 -> 3693[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 822[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];822 -> 894[label="",style="solid", color="black", weight=3]; 102.84/63.26 823[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];823 -> 895[label="",style="solid", color="black", weight=3]; 102.84/63.26 824[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];824 -> 896[label="",style="solid", color="black", weight=3]; 102.84/63.26 825[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];825 -> 897[label="",style="solid", color="black", weight=3]; 102.84/63.26 6133[label="signumReal3 (Pos (Succ vuz900))",fontsize=16,color="black",shape="box"];6133 -> 6139[label="",style="solid", color="black", weight=3]; 102.84/63.26 5948[label="vuz348",fontsize=16,color="green",shape="box"];5949[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];5950[label="vuz349",fontsize=16,color="green",shape="box"];6136 -> 6166[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6136[label="signumReal2 (Pos Zero) (Pos Zero == fromInt (Pos Zero))",fontsize=16,color="magenta"];6136 -> 6167[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6137[label="Pos (primMulNat vuz3220 vuz3740)",fontsize=16,color="green",shape="box"];6137 -> 6170[label="",style="dashed", color="green", weight=3]; 102.84/63.26 6138[label="Neg (primMulNat vuz3220 vuz3740)",fontsize=16,color="green",shape="box"];6138 -> 6171[label="",style="dashed", color="green", weight=3]; 102.84/63.26 6168[label="Neg (primMulNat vuz3220 vuz3760)",fontsize=16,color="green",shape="box"];6168 -> 6174[label="",style="dashed", color="green", weight=3]; 102.84/63.26 6169[label="Pos (primMulNat vuz3220 vuz3760)",fontsize=16,color="green",shape="box"];6169 -> 6175[label="",style="dashed", color="green", weight=3]; 102.84/63.26 4233 -> 4338[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4233[label="gcd0Gcd'1 (vuz258 == fromInt (Pos Zero)) vuz259 vuz258",fontsize=16,color="magenta"];4233 -> 4339[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7539[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) (Succ vuz4550))",fontsize=16,color="black",shape="box"];7539 -> 7568[label="",style="solid", color="black", weight=3]; 102.84/63.26 7540[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS (Succ vuz4540) Zero)",fontsize=16,color="black",shape="box"];7540 -> 7569[label="",style="solid", color="black", weight=3]; 102.84/63.26 7541[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero (Succ vuz4550))",fontsize=16,color="black",shape="box"];7541 -> 7570[label="",style="solid", color="black", weight=3]; 102.84/63.26 7542[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7542 -> 7571[label="",style="solid", color="black", weight=3]; 102.84/63.26 5959[label="Zero",fontsize=16,color="green",shape="box"];5960[label="primMinusNatS (Succ vuz30100) Zero",fontsize=16,color="black",shape="triangle"];5960 -> 5985[label="",style="solid", color="black", weight=3]; 102.84/63.26 5961[label="Zero",fontsize=16,color="green",shape="box"];5962[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];5962 -> 5986[label="",style="solid", color="black", weight=3]; 102.84/63.26 5963[label="primMulInt (Pos vuz3260) (signum (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];5963 -> 5987[label="",style="solid", color="black", weight=3]; 102.84/63.26 5964[label="primMulInt (Neg vuz3260) (signum (Neg (Succ vuz900)))",fontsize=16,color="black",shape="box"];5964 -> 5988[label="",style="solid", color="black", weight=3]; 102.84/63.26 5965[label="vuz900",fontsize=16,color="green",shape="box"];5966 -> 5868[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5966[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="magenta"];5967 -> 5868[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5967[label="vuz326 * signum (Neg (Succ vuz900))",fontsize=16,color="magenta"];5968[label="vuz900",fontsize=16,color="green",shape="box"];5969 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5969[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];5969 -> 5989[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7138 -> 7172[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7138[label="signumReal2 (Neg Zero) (Neg Zero == fromInt (Pos Zero))",fontsize=16,color="magenta"];7138 -> 7173[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 851[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpInt (Pos (Succ vuz900)) (Pos Zero) == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];851 -> 913[label="",style="solid", color="black", weight=3]; 102.84/63.26 852[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos Zero)) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];852 -> 914[label="",style="solid", color="black", weight=3]; 102.84/63.26 853[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (EQ == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) (EQ == GT)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];853 -> 915[label="",style="solid", color="black", weight=3]; 102.84/63.26 854[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8471[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];854 -> 8471[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8471 -> 916[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8472[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];854 -> 8472[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8472 -> 917[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 855[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) > fromInt (Pos Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];855 -> 918[label="",style="solid", color="black", weight=3]; 102.84/63.26 856[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (EQ == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) (EQ == GT)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];856 -> 919[label="",style="solid", color="black", weight=3]; 102.84/63.26 857[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8473[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];857 -> 8473[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8473 -> 920[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8474[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];857 -> 8474[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8474 -> 921[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 4782[label="Succ (Succ (primPlusNat vuz28500 vuz275000))",fontsize=16,color="green",shape="box"];4782 -> 4856[label="",style="dashed", color="green", weight=3]; 102.84/63.26 4783[label="Succ vuz28500",fontsize=16,color="green",shape="box"];4784[label="Succ vuz275000",fontsize=16,color="green",shape="box"];4785[label="Zero",fontsize=16,color="green",shape="box"];882 -> 3366[label="",style="dashed", color="red", weight=0]; 102.84/63.26 882[label="Integer (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) `quot` gcd2 (primEqInt (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)) (Integer (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];882 -> 3367[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 882 -> 3368[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 882 -> 3369[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 883 -> 952[label="",style="dashed", color="red", weight=0]; 102.84/63.26 883[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];883 -> 953[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 884 -> 3461[label="",style="dashed", color="red", weight=0]; 102.84/63.26 884[label="Integer (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) `quot` gcd2 (primEqInt (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)) (Integer (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];884 -> 3462[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 884 -> 3463[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 884 -> 3464[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 885 -> 956[label="",style="dashed", color="red", weight=0]; 102.84/63.26 885[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];885 -> 957[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 886[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];886 -> 958[label="",style="solid", color="black", weight=3]; 102.84/63.26 887[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];887 -> 959[label="",style="solid", color="black", weight=3]; 102.84/63.26 888[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];888 -> 960[label="",style="solid", color="black", weight=3]; 102.84/63.26 889[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];889 -> 961[label="",style="solid", color="black", weight=3]; 102.84/63.26 3595 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3595[label="primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3595 -> 3676[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3595 -> 3677[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3596 -> 3367[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3596[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3596 -> 3678[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3597 -> 3367[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3597[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3597 -> 3679[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3594[label="Integer (Neg vuz216) `quot` gcd2 vuz215 (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8475[label="vuz215/False",fontsize=10,color="white",style="solid",shape="box"];3594 -> 8475[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8475 -> 3680[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8476[label="vuz215/True",fontsize=10,color="white",style="solid",shape="box"];3594 -> 8476[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8476 -> 3681[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 3691 -> 3367[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3691[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3691 -> 3771[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3692 -> 3367[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3692[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3692 -> 3772[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3693 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3693[label="primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3693 -> 3773[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3693 -> 3774[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3690[label="Integer (Pos vuz226) `quot` gcd2 vuz225 (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8477[label="vuz225/False",fontsize=10,color="white",style="solid",shape="box"];3690 -> 8477[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8477 -> 3775[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8478[label="vuz225/True",fontsize=10,color="white",style="solid",shape="box"];3690 -> 8478[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8478 -> 3776[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 894[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];894 -> 966[label="",style="solid", color="black", weight=3]; 102.84/63.26 895[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];895 -> 967[label="",style="solid", color="black", weight=3]; 102.84/63.26 896[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];896 -> 968[label="",style="solid", color="black", weight=3]; 102.84/63.26 897[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];897 -> 969[label="",style="solid", color="black", weight=3]; 102.84/63.26 6139 -> 6172[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6139[label="signumReal2 (Pos (Succ vuz900)) (Pos (Succ vuz900) == fromInt (Pos Zero))",fontsize=16,color="magenta"];6139 -> 6173[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6167 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6167[label="Pos Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];6167 -> 6176[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6166[label="signumReal2 (Pos Zero) vuz377",fontsize=16,color="burlywood",shape="triangle"];8479[label="vuz377/False",fontsize=10,color="white",style="solid",shape="box"];6166 -> 8479[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8479 -> 6177[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8480[label="vuz377/True",fontsize=10,color="white",style="solid",shape="box"];6166 -> 8480[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8480 -> 6178[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 6170 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6170[label="primMulNat vuz3220 vuz3740",fontsize=16,color="magenta"];6170 -> 6179[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6170 -> 6180[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6171 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6171[label="primMulNat vuz3220 vuz3740",fontsize=16,color="magenta"];6171 -> 6181[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6171 -> 6182[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6174 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6174[label="primMulNat vuz3220 vuz3760",fontsize=16,color="magenta"];6174 -> 6256[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6174 -> 6257[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6175 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6175[label="primMulNat vuz3220 vuz3760",fontsize=16,color="magenta"];6175 -> 6258[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6175 -> 6259[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4339 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4339[label="vuz258 == fromInt (Pos Zero)",fontsize=16,color="magenta"];4339 -> 4360[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4338[label="gcd0Gcd'1 vuz270 vuz259 vuz258",fontsize=16,color="burlywood",shape="triangle"];8481[label="vuz270/False",fontsize=10,color="white",style="solid",shape="box"];4338 -> 8481[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8481 -> 4361[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8482[label="vuz270/True",fontsize=10,color="white",style="solid",shape="box"];4338 -> 8482[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8482 -> 4362[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 7568 -> 7477[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7568[label="primDivNatS0 (Succ vuz452) (Succ vuz453) (primGEqNatS vuz4540 vuz4550)",fontsize=16,color="magenta"];7568 -> 7608[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7568 -> 7609[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7569[label="primDivNatS0 (Succ vuz452) (Succ vuz453) True",fontsize=16,color="black",shape="triangle"];7569 -> 7610[label="",style="solid", color="black", weight=3]; 102.84/63.26 7570[label="primDivNatS0 (Succ vuz452) (Succ vuz453) False",fontsize=16,color="black",shape="box"];7570 -> 7611[label="",style="solid", color="black", weight=3]; 102.84/63.26 7571 -> 7569[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7571[label="primDivNatS0 (Succ vuz452) (Succ vuz453) True",fontsize=16,color="magenta"];5985[label="Succ vuz30100",fontsize=16,color="green",shape="box"];5986[label="Zero",fontsize=16,color="green",shape="box"];5987 -> 6106[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5987[label="primMulInt (Pos vuz3260) (signumReal (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5987 -> 6119[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5987 -> 6120[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5988 -> 6140[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5988[label="primMulInt (Neg vuz3260) (signumReal (Neg (Succ vuz900)))",fontsize=16,color="magenta"];5988 -> 6153[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5988 -> 6154[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5989[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];7173 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7173[label="Neg Zero == fromInt (Pos Zero)",fontsize=16,color="magenta"];7173 -> 7174[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7172[label="signumReal2 (Neg Zero) vuz429",fontsize=16,color="burlywood",shape="triangle"];8483[label="vuz429/False",fontsize=10,color="white",style="solid",shape="box"];7172 -> 8483[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8483 -> 7175[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8484[label="vuz429/True",fontsize=10,color="white",style="solid",shape="box"];7172 -> 8484[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8484 -> 7176[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 913[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (primCmpNat (Succ vuz900) Zero == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];913 -> 984[label="",style="solid", color="black", weight=3]; 102.84/63.26 914[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos Zero)) (Pos Zero)) (Integer (primMulInt vuz8 (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8485[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];914 -> 8485[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8485 -> 985[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8486[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];914 -> 8486[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8486 -> 986[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 915[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos Zero)) False) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];915 -> 987[label="",style="solid", color="black", weight=3]; 102.84/63.26 916[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];916 -> 988[label="",style="solid", color="black", weight=3]; 102.84/63.26 917[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];917 -> 989[label="",style="solid", color="black", weight=3]; 102.84/63.26 918[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];918 -> 990[label="",style="solid", color="black", weight=3]; 102.84/63.26 919[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg Zero)) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg Zero)) False) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];919 -> 991[label="",style="solid", color="black", weight=3]; 102.84/63.26 920[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];920 -> 992[label="",style="solid", color="black", weight=3]; 102.84/63.26 921[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];921 -> 993[label="",style="solid", color="black", weight=3]; 102.84/63.26 4856 -> 4682[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4856[label="primPlusNat vuz28500 vuz275000",fontsize=16,color="magenta"];4856 -> 5397[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4856 -> 5398[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3367[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="burlywood",shape="triangle"];8487[label="vuz800/Succ vuz8000",fontsize=10,color="white",style="solid",shape="box"];3367 -> 8487[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8487 -> 3385[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8488[label="vuz800/Zero",fontsize=10,color="white",style="solid",shape="box"];3367 -> 8488[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8488 -> 3386[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 3368 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3368[label="primEqInt (Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3368 -> 3387[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3368 -> 3388[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3369[label="vuz900",fontsize=16,color="green",shape="box"];3366[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 vuz197 (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="burlywood",shape="triangle"];8489[label="vuz197/False",fontsize=10,color="white",style="solid",shape="box"];3366 -> 8489[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8489 -> 3389[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8490[label="vuz197/True",fontsize=10,color="white",style="solid",shape="box"];3366 -> 8490[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8490 -> 3390[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 953 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 953[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];953 -> 2733[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 953 -> 2734[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 952[label="Integer (Pos Zero) `quot` gcd2 vuz51 (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8491[label="vuz51/False",fontsize=10,color="white",style="solid",shape="box"];952 -> 8491[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8491 -> 1030[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8492[label="vuz51/True",fontsize=10,color="white",style="solid",shape="box"];952 -> 8492[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8492 -> 1031[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 3462 -> 3367[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3462[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];3462 -> 3478[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3463 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3463[label="primEqInt (Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];3463 -> 3479[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3463 -> 3480[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3464[label="vuz900",fontsize=16,color="green",shape="box"];3461[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 vuz205 (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="burlywood",shape="triangle"];8493[label="vuz205/False",fontsize=10,color="white",style="solid",shape="box"];3461 -> 8493[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8493 -> 3481[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8494[label="vuz205/True",fontsize=10,color="white",style="solid",shape="box"];3461 -> 8494[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8494 -> 3482[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 957 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 957[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];957 -> 2735[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 957 -> 2736[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 956[label="Integer (Neg Zero) `quot` gcd2 vuz52 (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="burlywood",shape="triangle"];8495[label="vuz52/False",fontsize=10,color="white",style="solid",shape="box"];956 -> 8495[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8495 -> 1034[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8496[label="vuz52/True",fontsize=10,color="white",style="solid",shape="box"];956 -> 8496[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8496 -> 1035[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 958[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];958 -> 1036[label="",style="solid", color="black", weight=3]; 102.84/63.26 959 -> 1037[label="",style="dashed", color="red", weight=0]; 102.84/63.26 959[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];959 -> 1038[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 960[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (abs (Integer (Pos Zero))))",fontsize=16,color="black",shape="box"];960 -> 1039[label="",style="solid", color="black", weight=3]; 102.84/63.26 961 -> 1040[label="",style="dashed", color="red", weight=0]; 102.84/63.26 961[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];961 -> 1041[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3676[label="Pos Zero",fontsize=16,color="green",shape="box"];3677[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];3677 -> 3777[label="",style="dashed", color="green", weight=3]; 102.84/63.26 3678[label="vuz80",fontsize=16,color="green",shape="box"];3679[label="vuz80",fontsize=16,color="green",shape="box"];3680[label="Integer (Neg vuz216) `quot` gcd2 False (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3680 -> 3778[label="",style="solid", color="black", weight=3]; 102.84/63.26 3681[label="Integer (Neg vuz216) `quot` gcd2 True (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3681 -> 3779[label="",style="solid", color="black", weight=3]; 102.84/63.26 3771[label="vuz80",fontsize=16,color="green",shape="box"];3772[label="vuz80",fontsize=16,color="green",shape="box"];3773[label="Pos Zero",fontsize=16,color="green",shape="box"];3774[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];3774 -> 4061[label="",style="dashed", color="green", weight=3]; 102.84/63.26 3775[label="Integer (Pos vuz226) `quot` gcd2 False (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3775 -> 4062[label="",style="solid", color="black", weight=3]; 102.84/63.26 3776[label="Integer (Pos vuz226) `quot` gcd2 True (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3776 -> 4063[label="",style="solid", color="black", weight=3]; 102.84/63.26 966[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];966 -> 1050[label="",style="solid", color="black", weight=3]; 102.84/63.26 967 -> 1051[label="",style="dashed", color="red", weight=0]; 102.84/63.26 967[label="Integer (Pos Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];967 -> 1052[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 968[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg Zero))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (abs (Integer (Neg Zero))))",fontsize=16,color="black",shape="box"];968 -> 1053[label="",style="solid", color="black", weight=3]; 102.84/63.26 969 -> 1054[label="",style="dashed", color="red", weight=0]; 102.84/63.26 969[label="Integer (Neg Zero) `quot` gcd1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];969 -> 1055[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6173 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6173[label="Pos (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6173 -> 6183[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6172[label="signumReal2 (Pos (Succ vuz900)) vuz379",fontsize=16,color="burlywood",shape="triangle"];8497[label="vuz379/False",fontsize=10,color="white",style="solid",shape="box"];6172 -> 8497[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8497 -> 6184[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8498[label="vuz379/True",fontsize=10,color="white",style="solid",shape="box"];6172 -> 8498[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8498 -> 6185[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 6176[label="Pos Zero",fontsize=16,color="green",shape="box"];6177[label="signumReal2 (Pos Zero) False",fontsize=16,color="black",shape="box"];6177 -> 6260[label="",style="solid", color="black", weight=3]; 102.84/63.26 6178[label="signumReal2 (Pos Zero) True",fontsize=16,color="black",shape="box"];6178 -> 6261[label="",style="solid", color="black", weight=3]; 102.84/63.26 6179[label="vuz3740",fontsize=16,color="green",shape="box"];6180[label="vuz3220",fontsize=16,color="green",shape="box"];6181[label="vuz3740",fontsize=16,color="green",shape="box"];6182[label="vuz3220",fontsize=16,color="green",shape="box"];6256[label="vuz3760",fontsize=16,color="green",shape="box"];6257[label="vuz3220",fontsize=16,color="green",shape="box"];6258[label="vuz3760",fontsize=16,color="green",shape="box"];6259[label="vuz3220",fontsize=16,color="green",shape="box"];4360[label="vuz258",fontsize=16,color="green",shape="box"];4361[label="gcd0Gcd'1 False vuz259 vuz258",fontsize=16,color="black",shape="box"];4361 -> 4441[label="",style="solid", color="black", weight=3]; 102.84/63.26 4362[label="gcd0Gcd'1 True vuz259 vuz258",fontsize=16,color="black",shape="box"];4362 -> 4442[label="",style="solid", color="black", weight=3]; 102.84/63.26 7608[label="vuz4550",fontsize=16,color="green",shape="box"];7609[label="vuz4540",fontsize=16,color="green",shape="box"];7610[label="Succ (primDivNatS (primMinusNatS (Succ vuz452) (Succ vuz453)) (Succ (Succ vuz453)))",fontsize=16,color="green",shape="box"];7610 -> 7640[label="",style="dashed", color="green", weight=3]; 102.84/63.26 7611[label="Zero",fontsize=16,color="green",shape="box"];6119[label="vuz3260",fontsize=16,color="green",shape="box"];6120[label="signumReal (Neg (Succ vuz900))",fontsize=16,color="black",shape="triangle"];6120 -> 6194[label="",style="solid", color="black", weight=3]; 102.84/63.26 6153 -> 6120[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6153[label="signumReal (Neg (Succ vuz900))",fontsize=16,color="magenta"];6154[label="vuz3260",fontsize=16,color="green",shape="box"];7174[label="Neg Zero",fontsize=16,color="green",shape="box"];7175[label="signumReal2 (Neg Zero) False",fontsize=16,color="black",shape="box"];7175 -> 7207[label="",style="solid", color="black", weight=3]; 102.84/63.26 7176[label="signumReal2 (Neg Zero) True",fontsize=16,color="black",shape="box"];7176 -> 7208[label="",style="solid", color="black", weight=3]; 102.84/63.26 984[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) (GT == GT)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];984 -> 1074[label="",style="solid", color="black", weight=3]; 102.84/63.26 985[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];985 -> 1075[label="",style="solid", color="black", weight=3]; 102.84/63.26 986[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos Zero)) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];986 -> 1076[label="",style="solid", color="black", weight=3]; 102.84/63.26 987[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Pos Zero)) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Pos Zero)) otherwise) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];987 -> 1077[label="",style="solid", color="black", weight=3]; 102.84/63.26 988[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8499[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];988 -> 8499[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8499 -> 1078[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8500[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];988 -> 8500[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8500 -> 1079[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 989[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="box"];8501[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];989 -> 8501[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8501 -> 1080[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8502[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];989 -> 8502[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8502 -> 1081[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 990[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];990 -> 1082[label="",style="solid", color="black", weight=3]; 102.84/63.26 991[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg Zero)) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg Zero)) otherwise) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];991 -> 1083[label="",style="solid", color="black", weight=3]; 102.84/63.26 992[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8503[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];992 -> 8503[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8503 -> 1084[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8504[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];992 -> 8504[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8504 -> 1085[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 993[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="box"];8505[label="vuz80/Succ vuz800",fontsize=10,color="white",style="solid",shape="box"];993 -> 8505[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8505 -> 1086[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8506[label="vuz80/Zero",fontsize=10,color="white",style="solid",shape="box"];993 -> 8506[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8506 -> 1087[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5397[label="vuz28500",fontsize=16,color="green",shape="box"];5398[label="vuz275000",fontsize=16,color="green",shape="box"];3385[label="primMulNat (Succ vuz8000) (Succ Zero)",fontsize=16,color="black",shape="box"];3385 -> 3410[label="",style="solid", color="black", weight=3]; 102.84/63.26 3386[label="primMulNat Zero (Succ Zero)",fontsize=16,color="black",shape="box"];3386 -> 3411[label="",style="solid", color="black", weight=3]; 102.84/63.26 3387[label="Pos Zero",fontsize=16,color="green",shape="box"];3388[label="Pos (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))",fontsize=16,color="green",shape="box"];3388 -> 3412[label="",style="dashed", color="green", weight=3]; 102.84/63.26 3389[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 False (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3389 -> 3413[label="",style="solid", color="black", weight=3]; 102.84/63.26 3390[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd2 True (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3390 -> 3414[label="",style="solid", color="black", weight=3]; 102.84/63.26 2733[label="Pos Zero",fontsize=16,color="green",shape="box"];2734[label="Pos Zero",fontsize=16,color="green",shape="box"];1030[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1030 -> 1127[label="",style="solid", color="black", weight=3]; 102.84/63.26 1031[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1031 -> 1128[label="",style="solid", color="black", weight=3]; 102.84/63.26 3478[label="vuz800",fontsize=16,color="green",shape="box"];3479[label="Pos Zero",fontsize=16,color="green",shape="box"];3480[label="Neg (primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero))",fontsize=16,color="green",shape="box"];3480 -> 3497[label="",style="dashed", color="green", weight=3]; 102.84/63.26 3481[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 False (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3481 -> 3498[label="",style="solid", color="black", weight=3]; 102.84/63.26 3482[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd2 True (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3482 -> 3499[label="",style="solid", color="black", weight=3]; 102.84/63.26 2735[label="Pos Zero",fontsize=16,color="green",shape="box"];2736[label="Neg Zero",fontsize=16,color="green",shape="box"];1034[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1034 -> 1132[label="",style="solid", color="black", weight=3]; 102.84/63.26 1035[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="black",shape="box"];1035 -> 1133[label="",style="solid", color="black", weight=3]; 102.84/63.26 1036[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1036 -> 1134[label="",style="solid", color="black", weight=3]; 102.84/63.26 1038 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1038[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1038 -> 1135[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1037[label="Integer (Pos Zero) `quot` gcd1 vuz55 (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8507[label="vuz55/False",fontsize=10,color="white",style="solid",shape="box"];1037 -> 8507[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8507 -> 1136[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8508[label="vuz55/True",fontsize=10,color="white",style="solid",shape="box"];1037 -> 8508[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8508 -> 1137[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 1039[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1039 -> 1138[label="",style="solid", color="black", weight=3]; 102.84/63.26 1041 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1041[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1041 -> 1139[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1040[label="Integer (Neg Zero) `quot` gcd1 vuz56 (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8509[label="vuz56/False",fontsize=10,color="white",style="solid",shape="box"];1040 -> 8509[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8509 -> 1140[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8510[label="vuz56/True",fontsize=10,color="white",style="solid",shape="box"];1040 -> 8510[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8510 -> 1141[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 3777 -> 3367[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3777[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];3777 -> 4064[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3778[label="Integer (Neg vuz216) `quot` gcd0 (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3778 -> 4065[label="",style="solid", color="black", weight=3]; 102.84/63.26 3779[label="Integer (Neg vuz216) `quot` gcd1 (abs (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];3779 -> 4066[label="",style="solid", color="black", weight=3]; 102.84/63.26 4061 -> 3367[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4061[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];4061 -> 4121[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4062[label="Integer (Pos vuz226) `quot` gcd0 (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4062 -> 4122[label="",style="solid", color="black", weight=3]; 102.84/63.26 4063[label="Integer (Pos vuz226) `quot` gcd1 (abs (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (abs (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4063 -> 4123[label="",style="solid", color="black", weight=3]; 102.84/63.26 1050[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1050 -> 1150[label="",style="solid", color="black", weight=3]; 102.84/63.26 1052 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1052[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1052 -> 1151[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1051[label="Integer (Pos Zero) `quot` gcd1 vuz59 (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8511[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];1051 -> 8511[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8511 -> 1152[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8512[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];1051 -> 8512[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8512 -> 1153[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 1053[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];1053 -> 1154[label="",style="solid", color="black", weight=3]; 102.84/63.26 1055 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1055[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1055 -> 1155[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1054[label="Integer (Neg Zero) `quot` gcd1 vuz60 (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8513[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];1054 -> 8513[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8513 -> 1156[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8514[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];1054 -> 8514[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8514 -> 1157[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 6183[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6184[label="signumReal2 (Pos (Succ vuz900)) False",fontsize=16,color="black",shape="box"];6184 -> 6262[label="",style="solid", color="black", weight=3]; 102.84/63.26 6185[label="signumReal2 (Pos (Succ vuz900)) True",fontsize=16,color="black",shape="box"];6185 -> 6263[label="",style="solid", color="black", weight=3]; 102.84/63.26 6260 -> 6919[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6260[label="signumReal1 (Pos Zero) (Pos Zero > fromInt (Pos Zero))",fontsize=16,color="magenta"];6260 -> 6920[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6261 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6261[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6261 -> 6927[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4441[label="gcd0Gcd'0 vuz259 vuz258",fontsize=16,color="black",shape="box"];4441 -> 4495[label="",style="solid", color="black", weight=3]; 102.84/63.26 4442[label="vuz259",fontsize=16,color="green",shape="box"];7640 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7640[label="primDivNatS (primMinusNatS (Succ vuz452) (Succ vuz453)) (Succ (Succ vuz453))",fontsize=16,color="magenta"];7640 -> 7667[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7640 -> 7668[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6194[label="signumReal3 (Neg (Succ vuz900))",fontsize=16,color="black",shape="box"];6194 -> 6271[label="",style="solid", color="black", weight=3]; 102.84/63.26 7207 -> 7242[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7207[label="signumReal1 (Neg Zero) (Neg Zero > fromInt (Pos Zero))",fontsize=16,color="magenta"];7207 -> 7243[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7208 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7208[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7208 -> 7244[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1074[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Pos (Succ vuz900))) True) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1074 -> 1178[label="",style="solid", color="black", weight=3]; 102.84/63.26 1075 -> 5797[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1075[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Pos (primMulNat vuz80 Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];1075 -> 5798[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1075 -> 5799[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1076 -> 5931[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1076[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)) (Integer (Neg (primMulNat vuz80 Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];1076 -> 5932[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1076 -> 5933[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1077[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Pos Zero)) True) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1077 -> 1183[label="",style="solid", color="black", weight=3]; 102.84/63.26 1078[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1078 -> 1184[label="",style="solid", color="black", weight=3]; 102.84/63.26 1079[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1079 -> 1185[label="",style="solid", color="black", weight=3]; 102.84/63.26 1080[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1080 -> 1186[label="",style="solid", color="black", weight=3]; 102.84/63.26 1081[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1081 -> 1187[label="",style="solid", color="black", weight=3]; 102.84/63.26 1082[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1082 -> 1188[label="",style="solid", color="black", weight=3]; 102.84/63.26 1083[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg Zero)) True) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1083 -> 1189[label="",style="solid", color="black", weight=3]; 102.84/63.26 1084[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Pos (primMulNat (Succ vuz800) Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1084 -> 1190[label="",style="solid", color="black", weight=3]; 102.84/63.26 1085[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos (primMulNat Zero Zero)) (Pos Zero)) (Integer (Pos (primMulNat Zero Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1085 -> 1191[label="",style="solid", color="black", weight=3]; 102.84/63.26 1086[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat (Succ vuz800) Zero)) (Pos Zero)) (Integer (Neg (primMulNat (Succ vuz800) Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1086 -> 1192[label="",style="solid", color="black", weight=3]; 102.84/63.26 1087[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg (primMulNat Zero Zero)) (Pos Zero)) (Integer (Neg (primMulNat Zero Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1087 -> 1193[label="",style="solid", color="black", weight=3]; 102.84/63.26 3410 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3410[label="primPlusNat (primMulNat vuz8000 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3410 -> 4552[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3410 -> 4553[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3411[label="Zero",fontsize=16,color="green",shape="box"];3412 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3412[label="primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3412 -> 4554[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3412 -> 4555[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3413 -> 3500[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3413[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd0 (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="magenta"];3413 -> 3501[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3413 -> 3502[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3414 -> 3518[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3414[label="Integer (Pos (primPlusNat vuz195 (Succ Zero))) `quot` gcd1 (abs (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos (primPlusNat vuz195 (Succ Zero)))) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="magenta"];3414 -> 3519[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3414 -> 3520[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1127 -> 3500[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1127[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1127 -> 3503[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1127 -> 3504[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1127 -> 3505[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1128 -> 3518[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1128[label="Integer (Pos Zero) `quot` gcd1 (abs (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1128 -> 3521[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1128 -> 3522[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1128 -> 3523[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3497 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3497[label="primPlusNat (primMulNat vuz800 (Succ Zero)) (Succ Zero)",fontsize=16,color="magenta"];3497 -> 4556[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3497 -> 4557[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3498 -> 3537[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3498[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd0 (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="magenta"];3498 -> 3538[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3498 -> 3539[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3499 -> 3554[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3499[label="Integer (Neg (primPlusNat vuz203 (Succ Zero))) `quot` gcd1 (abs (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg (primPlusNat vuz203 (Succ Zero)))) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="magenta"];3499 -> 3555[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3499 -> 3556[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1132 -> 3537[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1132[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1132 -> 3540[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1132 -> 3541[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1132 -> 3542[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1133 -> 3554[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1133[label="Integer (Neg Zero) `quot` gcd1 (abs (Integer (Pos (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg Zero)) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];1133 -> 3557[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1133 -> 3558[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1133 -> 3559[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1134[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1134 -> 1241[label="",style="solid", color="black", weight=3]; 102.84/63.26 1135[label="Pos Zero",fontsize=16,color="green",shape="box"];1136[label="Integer (Pos Zero) `quot` gcd1 False (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1136 -> 1242[label="",style="solid", color="black", weight=3]; 102.84/63.26 1137[label="Integer (Pos Zero) `quot` gcd1 True (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1137 -> 1243[label="",style="solid", color="black", weight=3]; 102.84/63.26 1138[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1138 -> 1244[label="",style="solid", color="black", weight=3]; 102.84/63.26 1139[label="Pos Zero",fontsize=16,color="green",shape="box"];1140[label="Integer (Neg Zero) `quot` gcd1 False (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1140 -> 1245[label="",style="solid", color="black", weight=3]; 102.84/63.26 1141[label="Integer (Neg Zero) `quot` gcd1 True (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1141 -> 1246[label="",style="solid", color="black", weight=3]; 102.84/63.26 4064[label="vuz80",fontsize=16,color="green",shape="box"];4065[label="Integer (Neg vuz216) `quot` gcd0Gcd' (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4065 -> 4124[label="",style="solid", color="black", weight=3]; 102.84/63.26 4066[label="Integer (Neg vuz216) `quot` gcd1 (absReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4066 -> 4125[label="",style="solid", color="black", weight=3]; 102.84/63.26 4121[label="vuz80",fontsize=16,color="green",shape="box"];4122[label="Integer (Pos vuz226) `quot` gcd0Gcd' (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4122 -> 4259[label="",style="solid", color="black", weight=3]; 102.84/63.26 4123[label="Integer (Pos vuz226) `quot` gcd1 (absReal (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4123 -> 4260[label="",style="solid", color="black", weight=3]; 102.84/63.26 1150[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1150 -> 1257[label="",style="solid", color="black", weight=3]; 102.84/63.26 1151[label="Neg Zero",fontsize=16,color="green",shape="box"];1152[label="Integer (Pos Zero) `quot` gcd1 False (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1152 -> 1258[label="",style="solid", color="black", weight=3]; 102.84/63.26 1153[label="Integer (Pos Zero) `quot` gcd1 True (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1153 -> 1259[label="",style="solid", color="black", weight=3]; 102.84/63.26 1154[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];1154 -> 1260[label="",style="solid", color="black", weight=3]; 102.84/63.26 1155[label="Neg Zero",fontsize=16,color="green",shape="box"];1156[label="Integer (Neg Zero) `quot` gcd1 False (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1156 -> 1261[label="",style="solid", color="black", weight=3]; 102.84/63.26 1157[label="Integer (Neg Zero) `quot` gcd1 True (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1157 -> 1262[label="",style="solid", color="black", weight=3]; 102.84/63.26 6262 -> 6928[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6262[label="signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > fromInt (Pos Zero))",fontsize=16,color="magenta"];6262 -> 6929[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6263 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6263[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6263 -> 6942[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6920 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6920[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6920 -> 6943[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 6919[label="signumReal1 (Pos Zero) (Pos Zero > vuz413)",fontsize=16,color="black",shape="triangle"];6919 -> 6944[label="",style="solid", color="black", weight=3]; 102.84/63.26 6927[label="Pos Zero",fontsize=16,color="green",shape="box"];4495 -> 4166[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4495[label="gcd0Gcd' vuz258 (vuz259 `rem` vuz258)",fontsize=16,color="magenta"];4495 -> 4532[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4495 -> 4533[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7667[label="Succ vuz453",fontsize=16,color="green",shape="box"];7668[label="primMinusNatS (Succ vuz452) (Succ vuz453)",fontsize=16,color="black",shape="box"];7668 -> 7692[label="",style="solid", color="black", weight=3]; 102.84/63.26 6271 -> 6952[label="",style="dashed", color="red", weight=0]; 102.84/63.26 6271[label="signumReal2 (Neg (Succ vuz900)) (Neg (Succ vuz900) == fromInt (Pos Zero))",fontsize=16,color="magenta"];6271 -> 6953[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7243 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.26 7243[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7243 -> 7245[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 7242[label="signumReal1 (Neg Zero) (Neg Zero > vuz431)",fontsize=16,color="black",shape="triangle"];7242 -> 7246[label="",style="solid", color="black", weight=3]; 102.84/63.26 7244[label="Pos Zero",fontsize=16,color="green",shape="box"];1178[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * fromInt (Pos (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Pos (Succ Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1178 -> 1287[label="",style="solid", color="black", weight=3]; 102.84/63.26 5798 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5798[label="primEqInt (Pos (primMulNat vuz80 Zero)) (Pos Zero)",fontsize=16,color="magenta"];5798 -> 5876[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5798 -> 5877[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5799 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5799[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5799 -> 5878[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5799 -> 5879[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5797[label="Integer (Pos (Succ vuz900)) `quot` gcd2 vuz339 (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8515[label="vuz339/False",fontsize=10,color="white",style="solid",shape="box"];5797 -> 8515[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8515 -> 5880[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8516[label="vuz339/True",fontsize=10,color="white",style="solid",shape="box"];5797 -> 8516[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8516 -> 5881[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 5932 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5932[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5932 -> 5996[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5932 -> 5997[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5933 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.26 5933[label="primEqInt (Neg (primMulNat vuz80 Zero)) (Pos Zero)",fontsize=16,color="magenta"];5933 -> 5998[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5933 -> 5999[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 5931[label="Integer (Pos (Succ vuz900)) `quot` gcd2 vuz358 (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="triangle"];8517[label="vuz358/False",fontsize=10,color="white",style="solid",shape="box"];5931 -> 8517[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8517 -> 6000[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 8518[label="vuz358/True",fontsize=10,color="white",style="solid",shape="box"];5931 -> 8518[label="",style="solid", color="burlywood", weight=9]; 102.84/63.26 8518 -> 6001[label="",style="solid", color="burlywood", weight=3]; 102.84/63.26 1183[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1183 -> 1292[label="",style="solid", color="black", weight=3]; 102.84/63.26 1184 -> 1293[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1184[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1184 -> 1294[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1185 -> 1293[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1185[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1185 -> 1295[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1186 -> 1296[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1186[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1186 -> 1297[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1187 -> 1296[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1187[label="Integer (Pos Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1187 -> 1298[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1188[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT) == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) (LT == GT)) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1188 -> 1299[label="",style="solid", color="black", weight=3]; 102.84/63.26 1189[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1189 -> 1300[label="",style="solid", color="black", weight=3]; 102.84/63.26 1190 -> 1301[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1190[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1190 -> 1302[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1191 -> 1301[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1191[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Pos Zero) (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1191 -> 1303[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1192 -> 1304[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1192[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1192 -> 1305[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 1193 -> 1304[label="",style="dashed", color="red", weight=0]; 102.84/63.26 1193[label="Integer (Neg Zero) `quot` gcd2 (primEqInt (Neg Zero) (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1193 -> 1306[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4552 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4552[label="primMulNat vuz8000 (Succ Zero)",fontsize=16,color="magenta"];4552 -> 4577[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4552 -> 4578[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4553[label="Zero",fontsize=16,color="green",shape="box"];4554 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4554[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];4554 -> 4581[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4554 -> 4582[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4555[label="Zero",fontsize=16,color="green",shape="box"];3501 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3501[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3501 -> 4560[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3501 -> 4561[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3502 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3502[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3502 -> 4562[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3502 -> 4563[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3500[label="Integer (Pos vuz207) `quot` gcd0 (Integer (Pos vuz208)) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="triangle"];3500 -> 3577[label="",style="solid", color="black", weight=3]; 102.84/63.26 3519 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3519[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3519 -> 4564[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3519 -> 4565[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3520 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3520[label="primPlusNat vuz195 (Succ Zero)",fontsize=16,color="magenta"];3520 -> 4566[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3520 -> 4567[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3518[label="Integer (Pos vuz209) `quot` gcd1 (abs (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (abs (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="triangle"];3518 -> 3580[label="",style="solid", color="black", weight=3]; 102.84/63.26 3503[label="Zero",fontsize=16,color="green",shape="box"];3504[label="Zero",fontsize=16,color="green",shape="box"];3505[label="vuz900",fontsize=16,color="green",shape="box"];3521[label="Zero",fontsize=16,color="green",shape="box"];3522[label="Zero",fontsize=16,color="green",shape="box"];3523[label="vuz900",fontsize=16,color="green",shape="box"];4556 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.26 4556[label="primMulNat vuz800 (Succ Zero)",fontsize=16,color="magenta"];4556 -> 4583[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4556 -> 4584[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 4557[label="Zero",fontsize=16,color="green",shape="box"];3538 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3538[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3538 -> 4568[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3538 -> 4569[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3539 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.26 3539[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3539 -> 4570[label="",style="dashed", color="magenta", weight=3]; 102.84/63.26 3539 -> 4571[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 3537[label="Integer (Neg vuz211) `quot` gcd0 (Integer (Neg vuz212)) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="triangle"];3537 -> 3584[label="",style="solid", color="black", weight=3]; 102.84/63.27 3555 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.27 3555[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3555 -> 4572[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 3555 -> 4573[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 3556 -> 4551[label="",style="dashed", color="red", weight=0]; 102.84/63.27 3556[label="primPlusNat vuz203 (Succ Zero)",fontsize=16,color="magenta"];3556 -> 4574[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 3556 -> 4575[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 3554[label="Integer (Neg vuz213) `quot` gcd1 (abs (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (abs (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="triangle"];3554 -> 3587[label="",style="solid", color="black", weight=3]; 102.84/63.27 3540[label="Zero",fontsize=16,color="green",shape="box"];3541[label="Zero",fontsize=16,color="green",shape="box"];3542[label="vuz900",fontsize=16,color="green",shape="box"];3557[label="Zero",fontsize=16,color="green",shape="box"];3558[label="Zero",fontsize=16,color="green",shape="box"];3559[label="vuz900",fontsize=16,color="green",shape="box"];1241[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1241 -> 1369[label="",style="solid", color="black", weight=3]; 102.84/63.27 1242[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1242 -> 1370[label="",style="solid", color="black", weight=3]; 102.84/63.27 1243[label="Integer (Pos Zero) `quot` error []",fontsize=16,color="black",shape="triangle"];1243 -> 1371[label="",style="solid", color="black", weight=3]; 102.84/63.27 1244[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Pos Zero))) (not (compare (abs (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1244 -> 1372[label="",style="solid", color="black", weight=3]; 102.84/63.27 1245[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1245 -> 1373[label="",style="solid", color="black", weight=3]; 102.84/63.27 1246[label="Integer (Neg Zero) `quot` error []",fontsize=16,color="black",shape="triangle"];1246 -> 1374[label="",style="solid", color="black", weight=3]; 102.84/63.27 4124[label="Integer (Neg vuz216) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4124 -> 4261[label="",style="solid", color="black", weight=3]; 102.84/63.27 4125[label="Integer (Neg vuz216) `quot` gcd1 (absReal2 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal2 (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4125 -> 4262[label="",style="solid", color="black", weight=3]; 102.84/63.27 4259[label="Integer (Pos vuz226) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4259 -> 4363[label="",style="solid", color="black", weight=3]; 102.84/63.27 4260[label="Integer (Pos vuz226) `quot` gcd1 (absReal2 (Integer (Neg (Succ vuz900))) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal2 (Integer (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];4260 -> 4364[label="",style="solid", color="black", weight=3]; 102.84/63.27 1257[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1257 -> 1386[label="",style="solid", color="black", weight=3]; 102.84/63.27 1258[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1258 -> 1387[label="",style="solid", color="black", weight=3]; 102.84/63.27 1259 -> 1243[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1259[label="Integer (Pos Zero) `quot` error []",fontsize=16,color="magenta"];1260[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (abs (Integer (Neg Zero))) (not (compare (abs (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1260 -> 1388[label="",style="solid", color="black", weight=3]; 102.84/63.27 1261[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1261 -> 1389[label="",style="solid", color="black", weight=3]; 102.84/63.27 1262 -> 1246[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1262[label="Integer (Neg Zero) `quot` error []",fontsize=16,color="magenta"];6929 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6929[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];6929 -> 6962[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6928[label="signumReal1 (Pos (Succ vuz900)) (Pos (Succ vuz900) > vuz414)",fontsize=16,color="black",shape="triangle"];6928 -> 6963[label="",style="solid", color="black", weight=3]; 102.84/63.27 6942[label="Pos Zero",fontsize=16,color="green",shape="box"];6943[label="Pos Zero",fontsize=16,color="green",shape="box"];6944[label="signumReal1 (Pos Zero) (compare (Pos Zero) vuz413 == GT)",fontsize=16,color="black",shape="box"];6944 -> 6964[label="",style="solid", color="black", weight=3]; 102.84/63.27 4532[label="vuz258",fontsize=16,color="green",shape="box"];4533 -> 4170[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4533[label="vuz259 `rem` vuz258",fontsize=16,color="magenta"];4533 -> 4660[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4533 -> 4661[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7692[label="primMinusNatS vuz452 vuz453",fontsize=16,color="burlywood",shape="triangle"];8519[label="vuz452/Succ vuz4520",fontsize=10,color="white",style="solid",shape="box"];7692 -> 8519[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8519 -> 7720[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8520[label="vuz452/Zero",fontsize=10,color="white",style="solid",shape="box"];7692 -> 8520[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8520 -> 7721[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 6953 -> 2582[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6953[label="Neg (Succ vuz900) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6953 -> 6973[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6952[label="signumReal2 (Neg (Succ vuz900)) vuz417",fontsize=16,color="burlywood",shape="triangle"];8521[label="vuz417/False",fontsize=10,color="white",style="solid",shape="box"];6952 -> 8521[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8521 -> 6974[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8522[label="vuz417/True",fontsize=10,color="white",style="solid",shape="box"];6952 -> 8522[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8522 -> 6975[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7245[label="Pos Zero",fontsize=16,color="green",shape="box"];7246[label="signumReal1 (Neg Zero) (compare (Neg Zero) vuz431 == GT)",fontsize=16,color="black",shape="box"];7246 -> 7257[label="",style="solid", color="black", weight=3]; 102.84/63.27 1287[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer vuz8 * Integer (Pos (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Pos (Succ Zero))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1287 -> 1412[label="",style="solid", color="black", weight=3]; 102.84/63.27 5876[label="Pos Zero",fontsize=16,color="green",shape="box"];5877[label="Pos (primMulNat vuz80 Zero)",fontsize=16,color="green",shape="box"];5877 -> 5913[label="",style="dashed", color="green", weight=3]; 102.84/63.27 5878[label="Zero",fontsize=16,color="green",shape="box"];5879[label="vuz80",fontsize=16,color="green",shape="box"];5880[label="Integer (Pos (Succ vuz900)) `quot` gcd2 False (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5880 -> 5914[label="",style="solid", color="black", weight=3]; 102.84/63.27 5881[label="Integer (Pos (Succ vuz900)) `quot` gcd2 True (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5881 -> 5915[label="",style="solid", color="black", weight=3]; 102.84/63.27 5996[label="Zero",fontsize=16,color="green",shape="box"];5997[label="vuz80",fontsize=16,color="green",shape="box"];5998[label="Pos Zero",fontsize=16,color="green",shape="box"];5999[label="Neg (primMulNat vuz80 Zero)",fontsize=16,color="green",shape="box"];5999 -> 6023[label="",style="dashed", color="green", weight=3]; 102.84/63.27 6000[label="Integer (Pos (Succ vuz900)) `quot` gcd2 False (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6000 -> 6024[label="",style="solid", color="black", weight=3]; 102.84/63.27 6001[label="Integer (Pos (Succ vuz900)) `quot` gcd2 True (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6001 -> 6025[label="",style="solid", color="black", weight=3]; 102.84/63.27 1292[label="Integer (Pos Zero) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1292 -> 1419[label="",style="solid", color="black", weight=3]; 102.84/63.27 1294 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1294[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1294 -> 2775[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1294 -> 2776[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1293[label="Integer (Pos Zero) `quot` gcd2 vuz66 (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8523[label="vuz66/False",fontsize=10,color="white",style="solid",shape="box"];1293 -> 8523[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8523 -> 1420[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8524[label="vuz66/True",fontsize=10,color="white",style="solid",shape="box"];1293 -> 8524[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8524 -> 1421[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 1295 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1295[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1295 -> 2777[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1295 -> 2778[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1297 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1297[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1297 -> 2779[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1297 -> 2780[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1296[label="Integer (Pos Zero) `quot` gcd2 vuz67 (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];8525[label="vuz67/False",fontsize=10,color="white",style="solid",shape="box"];1296 -> 8525[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8525 -> 1422[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8526[label="vuz67/True",fontsize=10,color="white",style="solid",shape="box"];1296 -> 8526[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8526 -> 1423[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 1298 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1298[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1298 -> 2781[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1298 -> 2782[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1299[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False == fromInt (Pos Zero)) (Integer vuz8 * signumReal1 (Integer (Neg (Succ vuz900))) False) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1299 -> 1424[label="",style="solid", color="black", weight=3]; 102.84/63.27 1300[label="Integer (Neg Zero) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1300 -> 1425[label="",style="solid", color="black", weight=3]; 102.84/63.27 1302 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1302[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1302 -> 2783[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1302 -> 2784[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1301[label="Integer (Neg Zero) `quot` gcd2 vuz68 (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8527[label="vuz68/False",fontsize=10,color="white",style="solid",shape="box"];1301 -> 8527[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8527 -> 1426[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8528[label="vuz68/True",fontsize=10,color="white",style="solid",shape="box"];1301 -> 8528[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8528 -> 1427[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 1303 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1303[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="magenta"];1303 -> 2785[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1303 -> 2786[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1305 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1305[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1305 -> 2787[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1305 -> 2788[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1304[label="Integer (Neg Zero) `quot` gcd2 vuz69 (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];8529[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];1304 -> 8529[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8529 -> 1428[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8530[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];1304 -> 8530[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8530 -> 1429[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 1306 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1306[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="magenta"];1306 -> 2789[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1306 -> 2790[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4577[label="Succ Zero",fontsize=16,color="green",shape="box"];4578[label="vuz8000",fontsize=16,color="green",shape="box"];4581[label="Succ Zero",fontsize=16,color="green",shape="box"];4582[label="vuz800",fontsize=16,color="green",shape="box"];4560[label="vuz195",fontsize=16,color="green",shape="box"];4561[label="Zero",fontsize=16,color="green",shape="box"];4562[label="vuz195",fontsize=16,color="green",shape="box"];4563[label="Zero",fontsize=16,color="green",shape="box"];3577[label="Integer (Pos vuz207) `quot` gcd0Gcd' (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3577 -> 3684[label="",style="solid", color="black", weight=3]; 102.84/63.27 4564[label="vuz195",fontsize=16,color="green",shape="box"];4565[label="Zero",fontsize=16,color="green",shape="box"];4566[label="vuz195",fontsize=16,color="green",shape="box"];4567[label="Zero",fontsize=16,color="green",shape="box"];3580[label="Integer (Pos vuz209) `quot` gcd1 (absReal (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3580 -> 3685[label="",style="solid", color="black", weight=3]; 102.84/63.27 4583[label="Succ Zero",fontsize=16,color="green",shape="box"];4584[label="vuz800",fontsize=16,color="green",shape="box"];4568[label="vuz203",fontsize=16,color="green",shape="box"];4569[label="Zero",fontsize=16,color="green",shape="box"];4570[label="vuz203",fontsize=16,color="green",shape="box"];4571[label="Zero",fontsize=16,color="green",shape="box"];3584[label="Integer (Neg vuz211) `quot` gcd0Gcd' (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3584 -> 3686[label="",style="solid", color="black", weight=3]; 102.84/63.27 4572[label="vuz203",fontsize=16,color="green",shape="box"];4573[label="Zero",fontsize=16,color="green",shape="box"];4574[label="vuz203",fontsize=16,color="green",shape="box"];4575[label="Zero",fontsize=16,color="green",shape="box"];3587[label="Integer (Neg vuz213) `quot` gcd1 (absReal (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3587 -> 3687[label="",style="solid", color="black", weight=3]; 102.84/63.27 1369[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1369 -> 1505[label="",style="solid", color="black", weight=3]; 102.84/63.27 1370[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1370 -> 1506[label="",style="solid", color="black", weight=3]; 102.84/63.27 1371[label="error []",fontsize=16,color="red",shape="box"];1372[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal (Integer (Pos Zero))) (not (compare (absReal (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1372 -> 1507[label="",style="solid", color="black", weight=3]; 102.84/63.27 1373[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1373 -> 1508[label="",style="solid", color="black", weight=3]; 102.84/63.27 1374[label="error []",fontsize=16,color="red",shape="box"];4261[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4261 -> 4365[label="",style="solid", color="black", weight=3]; 102.84/63.27 4262[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4262 -> 4366[label="",style="solid", color="black", weight=3]; 102.84/63.27 4363[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (abs (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (abs (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4363 -> 4459[label="",style="solid", color="black", weight=3]; 102.84/63.27 4364[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4364 -> 4460[label="",style="solid", color="black", weight=3]; 102.84/63.27 1386[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1386 -> 1523[label="",style="solid", color="black", weight=3]; 102.84/63.27 1387[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1387 -> 1524[label="",style="solid", color="black", weight=3]; 102.84/63.27 1388[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal (Integer (Neg Zero))) (not (compare (absReal (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1388 -> 1525[label="",style="solid", color="black", weight=3]; 102.84/63.27 1389[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1389 -> 1526[label="",style="solid", color="black", weight=3]; 102.84/63.27 6962[label="Pos Zero",fontsize=16,color="green",shape="box"];6963[label="signumReal1 (Pos (Succ vuz900)) (compare (Pos (Succ vuz900)) vuz414 == GT)",fontsize=16,color="black",shape="box"];6963 -> 7020[label="",style="solid", color="black", weight=3]; 102.84/63.27 6964[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) vuz413 == GT)",fontsize=16,color="burlywood",shape="box"];8531[label="vuz413/Pos vuz4130",fontsize=10,color="white",style="solid",shape="box"];6964 -> 8531[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8531 -> 7021[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8532[label="vuz413/Neg vuz4130",fontsize=10,color="white",style="solid",shape="box"];6964 -> 8532[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8532 -> 7022[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 4660[label="vuz259",fontsize=16,color="green",shape="box"];4661[label="vuz258",fontsize=16,color="green",shape="box"];4170[label="vuz156 `rem` vuz155",fontsize=16,color="black",shape="triangle"];4170 -> 4263[label="",style="solid", color="black", weight=3]; 102.84/63.27 7720[label="primMinusNatS (Succ vuz4520) vuz453",fontsize=16,color="burlywood",shape="box"];8533[label="vuz453/Succ vuz4530",fontsize=10,color="white",style="solid",shape="box"];7720 -> 8533[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8533 -> 7746[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8534[label="vuz453/Zero",fontsize=10,color="white",style="solid",shape="box"];7720 -> 8534[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8534 -> 7747[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7721[label="primMinusNatS Zero vuz453",fontsize=16,color="burlywood",shape="box"];8535[label="vuz453/Succ vuz4530",fontsize=10,color="white",style="solid",shape="box"];7721 -> 8535[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8535 -> 7748[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8536[label="vuz453/Zero",fontsize=10,color="white",style="solid",shape="box"];7721 -> 8536[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8536 -> 7749[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 6973[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];6974[label="signumReal2 (Neg (Succ vuz900)) False",fontsize=16,color="black",shape="box"];6974 -> 7030[label="",style="solid", color="black", weight=3]; 102.84/63.27 6975[label="signumReal2 (Neg (Succ vuz900)) True",fontsize=16,color="black",shape="box"];6975 -> 7031[label="",style="solid", color="black", weight=3]; 102.84/63.27 7257[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) vuz431 == GT)",fontsize=16,color="burlywood",shape="box"];8537[label="vuz431/Pos vuz4310",fontsize=10,color="white",style="solid",shape="box"];7257 -> 8537[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8537 -> 7260[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8538[label="vuz431/Neg vuz4310",fontsize=10,color="white",style="solid",shape="box"];7257 -> 8538[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8538 -> 7261[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 1412[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1412 -> 1547[label="",style="solid", color="black", weight=3]; 102.84/63.27 5913 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5913[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];5913 -> 6002[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5913 -> 6003[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5914[label="Integer (Pos (Succ vuz900)) `quot` gcd0 (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];5914 -> 6004[label="",style="solid", color="black", weight=3]; 102.84/63.27 5915 -> 6053[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5915[label="Integer (Pos (Succ vuz900)) `quot` gcd1 (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) (Integer (Pos vuz340)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];5915 -> 6054[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5915 -> 6055[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5915 -> 6056[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5915 -> 6057[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6023 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6023[label="primMulNat vuz80 Zero",fontsize=16,color="magenta"];6023 -> 6195[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6023 -> 6196[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6024[label="Integer (Pos (Succ vuz900)) `quot` gcd0 (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];6024 -> 6197[label="",style="solid", color="black", weight=3]; 102.84/63.27 6025 -> 6053[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6025[label="Integer (Pos (Succ vuz900)) `quot` gcd1 (Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)) (Integer (Neg vuz359)) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];6025 -> 6058[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6025 -> 6059[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6025 -> 6060[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6025 -> 6061[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1419 -> 4467[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1419[label="Integer (Pos Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (Pos Zero))",fontsize=16,color="magenta"];1419 -> 4468[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1419 -> 4469[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1419 -> 4470[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 2775[label="Pos Zero",fontsize=16,color="green",shape="box"];2776[label="Pos Zero",fontsize=16,color="green",shape="box"];1420[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1420 -> 1553[label="",style="solid", color="black", weight=3]; 102.84/63.27 1421[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1421 -> 1554[label="",style="solid", color="black", weight=3]; 102.84/63.27 2777[label="Pos Zero",fontsize=16,color="green",shape="box"];2778[label="Pos Zero",fontsize=16,color="green",shape="box"];2779[label="Pos Zero",fontsize=16,color="green",shape="box"];2780[label="Neg Zero",fontsize=16,color="green",shape="box"];1422[label="Integer (Pos Zero) `quot` gcd2 False (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1422 -> 1555[label="",style="solid", color="black", weight=3]; 102.84/63.27 1423[label="Integer (Pos Zero) `quot` gcd2 True (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];1423 -> 1556[label="",style="solid", color="black", weight=3]; 102.84/63.27 2781[label="Pos Zero",fontsize=16,color="green",shape="box"];2782[label="Neg Zero",fontsize=16,color="green",shape="box"];1424[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) otherwise) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1424 -> 1557[label="",style="solid", color="black", weight=3]; 102.84/63.27 1425 -> 4467[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1425[label="Integer (Neg Zero) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (Neg Zero))",fontsize=16,color="magenta"];1425 -> 4471[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1425 -> 4472[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1425 -> 4473[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 2783[label="Pos Zero",fontsize=16,color="green",shape="box"];2784[label="Pos Zero",fontsize=16,color="green",shape="box"];1426[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1426 -> 1559[label="",style="solid", color="black", weight=3]; 102.84/63.27 1427[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1427 -> 1560[label="",style="solid", color="black", weight=3]; 102.84/63.27 2785[label="Pos Zero",fontsize=16,color="green",shape="box"];2786[label="Pos Zero",fontsize=16,color="green",shape="box"];2787[label="Pos Zero",fontsize=16,color="green",shape="box"];2788[label="Neg Zero",fontsize=16,color="green",shape="box"];1428[label="Integer (Neg Zero) `quot` gcd2 False (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1428 -> 1561[label="",style="solid", color="black", weight=3]; 102.84/63.27 1429[label="Integer (Neg Zero) `quot` gcd2 True (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];1429 -> 1562[label="",style="solid", color="black", weight=3]; 102.84/63.27 2789[label="Pos Zero",fontsize=16,color="green",shape="box"];2790[label="Neg Zero",fontsize=16,color="green",shape="box"];3684[label="Integer (Pos vuz207) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3684 -> 3781[label="",style="solid", color="black", weight=3]; 102.84/63.27 3685[label="Integer (Pos vuz209) `quot` gcd1 (absReal2 (Integer (Pos (Succ vuz196))) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal2 (Integer (Pos (Succ vuz196))))",fontsize=16,color="black",shape="box"];3685 -> 3782[label="",style="solid", color="black", weight=3]; 102.84/63.27 3686[label="Integer (Neg vuz211) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3686 -> 3783[label="",style="solid", color="black", weight=3]; 102.84/63.27 3687[label="Integer (Neg vuz213) `quot` gcd1 (absReal2 (Integer (Pos (Succ vuz204))) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal2 (Integer (Pos (Succ vuz204))))",fontsize=16,color="black",shape="box"];3687 -> 3784[label="",style="solid", color="black", weight=3]; 102.84/63.27 1505[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1505 -> 1639[label="",style="solid", color="black", weight=3]; 102.84/63.27 1506[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1506 -> 1640[label="",style="solid", color="black", weight=3]; 102.84/63.27 1507[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal2 (Integer (Pos Zero))) (not (compare (absReal2 (Integer (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1507 -> 1641[label="",style="solid", color="black", weight=3]; 102.84/63.27 1508[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1508 -> 1642[label="",style="solid", color="black", weight=3]; 102.84/63.27 4365[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4365 -> 4461[label="",style="solid", color="black", weight=3]; 102.84/63.27 4366[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4366 -> 4462[label="",style="solid", color="black", weight=3]; 102.84/63.27 4459[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4459 -> 4543[label="",style="solid", color="black", weight=3]; 102.84/63.27 4460[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4460 -> 4544[label="",style="solid", color="black", weight=3]; 102.84/63.27 1523[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1523 -> 1656[label="",style="solid", color="black", weight=3]; 102.84/63.27 1524[label="Integer (Pos Zero) `quot` gcd0Gcd'2 (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1524 -> 1657[label="",style="solid", color="black", weight=3]; 102.84/63.27 1525[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal2 (Integer (Neg Zero))) (not (compare (absReal2 (Integer (Neg Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1525 -> 1658[label="",style="solid", color="black", weight=3]; 102.84/63.27 1526[label="Integer (Neg Zero) `quot` gcd0Gcd'2 (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1526 -> 1659[label="",style="solid", color="black", weight=3]; 102.84/63.27 7020[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) vuz414 == GT)",fontsize=16,color="burlywood",shape="box"];8539[label="vuz414/Pos vuz4140",fontsize=10,color="white",style="solid",shape="box"];7020 -> 8539[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8539 -> 7064[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8540[label="vuz414/Neg vuz4140",fontsize=10,color="white",style="solid",shape="box"];7020 -> 8540[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8540 -> 7065[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7021[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos vuz4130) == GT)",fontsize=16,color="burlywood",shape="box"];8541[label="vuz4130/Succ vuz41300",fontsize=10,color="white",style="solid",shape="box"];7021 -> 8541[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8541 -> 7066[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8542[label="vuz4130/Zero",fontsize=10,color="white",style="solid",shape="box"];7021 -> 8542[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8542 -> 7067[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7022[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg vuz4130) == GT)",fontsize=16,color="burlywood",shape="box"];8543[label="vuz4130/Succ vuz41300",fontsize=10,color="white",style="solid",shape="box"];7022 -> 8543[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8543 -> 7068[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8544[label="vuz4130/Zero",fontsize=10,color="white",style="solid",shape="box"];7022 -> 8544[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8544 -> 7069[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 4263[label="primRemInt vuz156 vuz155",fontsize=16,color="burlywood",shape="triangle"];8545[label="vuz156/Pos vuz1560",fontsize=10,color="white",style="solid",shape="box"];4263 -> 8545[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8545 -> 4367[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8546[label="vuz156/Neg vuz1560",fontsize=10,color="white",style="solid",shape="box"];4263 -> 8546[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8546 -> 4368[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7746[label="primMinusNatS (Succ vuz4520) (Succ vuz4530)",fontsize=16,color="black",shape="box"];7746 -> 7776[label="",style="solid", color="black", weight=3]; 102.84/63.27 7747[label="primMinusNatS (Succ vuz4520) Zero",fontsize=16,color="black",shape="box"];7747 -> 7777[label="",style="solid", color="black", weight=3]; 102.84/63.27 7748[label="primMinusNatS Zero (Succ vuz4530)",fontsize=16,color="black",shape="box"];7748 -> 7778[label="",style="solid", color="black", weight=3]; 102.84/63.27 7749[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];7749 -> 7779[label="",style="solid", color="black", weight=3]; 102.84/63.27 7030 -> 7077[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7030[label="signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > fromInt (Pos Zero))",fontsize=16,color="magenta"];7030 -> 7078[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7031 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7031[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7031 -> 7087[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7260[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos vuz4310) == GT)",fontsize=16,color="burlywood",shape="box"];8547[label="vuz4310/Succ vuz43100",fontsize=10,color="white",style="solid",shape="box"];7260 -> 8547[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8547 -> 7291[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8548[label="vuz4310/Zero",fontsize=10,color="white",style="solid",shape="box"];7260 -> 8548[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8548 -> 7292[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7261[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg vuz4310) == GT)",fontsize=16,color="burlywood",shape="box"];8549[label="vuz4310/Succ vuz43100",fontsize=10,color="white",style="solid",shape="box"];7261 -> 8549[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8549 -> 7293[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8550[label="vuz4310/Zero",fontsize=10,color="white",style="solid",shape="box"];7261 -> 8550[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8550 -> 7294[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 1547[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (Integer (primMulInt vuz8 (Pos (Succ Zero))) == Integer (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1547 -> 1684[label="",style="solid", color="black", weight=3]; 102.84/63.27 6002[label="Zero",fontsize=16,color="green",shape="box"];6003[label="vuz80",fontsize=16,color="green",shape="box"];6004 -> 4807[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6004[label="Integer (Pos (Succ vuz900)) `quot` gcd0Gcd' (abs (Integer (Pos vuz340))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];6004 -> 6026[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6004 -> 6027[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6004 -> 6028[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6054[label="Pos vuz340",fontsize=16,color="green",shape="box"];6055[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6056[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6057 -> 148[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6057[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6057 -> 6198[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6053[label="Integer vuz268 `quot` gcd1 vuz372 (Integer vuz299) (Integer vuz269)",fontsize=16,color="burlywood",shape="triangle"];8551[label="vuz372/False",fontsize=10,color="white",style="solid",shape="box"];6053 -> 8551[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8551 -> 6199[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8552[label="vuz372/True",fontsize=10,color="white",style="solid",shape="box"];6053 -> 8552[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8552 -> 6200[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 6195[label="Zero",fontsize=16,color="green",shape="box"];6196[label="vuz80",fontsize=16,color="green",shape="box"];6197 -> 4807[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6197[label="Integer (Pos (Succ vuz900)) `quot` gcd0Gcd' (abs (Integer (Neg vuz359))) (abs (Integer (Pos (Succ vuz900))))",fontsize=16,color="magenta"];6197 -> 6273[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6197 -> 6274[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6197 -> 6275[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6058[label="Neg vuz359",fontsize=16,color="green",shape="box"];6059[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6060[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6061 -> 148[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6061[label="Integer (Pos (Succ vuz900)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];6061 -> 6201[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4468[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];4468 -> 4545[label="",style="solid", color="black", weight=3]; 102.84/63.27 4469[label="Pos Zero",fontsize=16,color="green",shape="box"];4470[label="Pos Zero",fontsize=16,color="green",shape="box"];4467[label="Integer vuz268 `quot` gcd2 vuz280 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="burlywood",shape="triangle"];8553[label="vuz280/False",fontsize=10,color="white",style="solid",shape="box"];4467 -> 8553[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8553 -> 4546[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8554[label="vuz280/True",fontsize=10,color="white",style="solid",shape="box"];4467 -> 8554[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8554 -> 4547[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 1553[label="Integer (Pos Zero) `quot` gcd0 (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="triangle"];1553 -> 1690[label="",style="solid", color="black", weight=3]; 102.84/63.27 1554 -> 6053[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1554[label="Integer (Pos Zero) `quot` gcd1 (Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1554 -> 6066[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1554 -> 6067[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1554 -> 6068[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1554 -> 6069[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1555[label="Integer (Pos Zero) `quot` gcd0 (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="black",shape="triangle"];1555 -> 1693[label="",style="solid", color="black", weight=3]; 102.84/63.27 1556 -> 6053[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1556[label="Integer (Pos Zero) `quot` gcd1 (Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer (Pos Zero))",fontsize=16,color="magenta"];1556 -> 6070[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1556 -> 6071[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1556 -> 6072[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1556 -> 6073[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1557[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True == fromInt (Pos Zero)) (Integer vuz8 * signumReal0 (Integer (Neg (Succ vuz900))) True) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1557 -> 1696[label="",style="solid", color="black", weight=3]; 102.84/63.27 4471 -> 4468[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4471[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4472[label="Neg Zero",fontsize=16,color="green",shape="box"];4473[label="Neg Zero",fontsize=16,color="green",shape="box"];1559[label="Integer (Neg Zero) `quot` gcd0 (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="triangle"];1559 -> 1698[label="",style="solid", color="black", weight=3]; 102.84/63.27 1560 -> 6053[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1560[label="Integer (Neg Zero) `quot` gcd1 (Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1560 -> 6074[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1560 -> 6075[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1560 -> 6076[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1560 -> 6077[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1561[label="Integer (Neg Zero) `quot` gcd0 (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="black",shape="triangle"];1561 -> 1701[label="",style="solid", color="black", weight=3]; 102.84/63.27 1562 -> 6053[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1562[label="Integer (Neg Zero) `quot` gcd1 (Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer (Neg Zero))",fontsize=16,color="magenta"];1562 -> 6078[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1562 -> 6079[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1562 -> 6080[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1562 -> 6081[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 3781[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (abs (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];3781 -> 4142[label="",style="solid", color="black", weight=3]; 102.84/63.27 3782[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3782 -> 4143[label="",style="solid", color="black", weight=3]; 102.84/63.27 3783[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (abs (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (abs (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];3783 -> 4144[label="",style="solid", color="black", weight=3]; 102.84/63.27 3784[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];3784 -> 4145[label="",style="solid", color="black", weight=3]; 102.84/63.27 1639[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1639 -> 1787[label="",style="solid", color="black", weight=3]; 102.84/63.27 1640[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1640 -> 1788[label="",style="solid", color="black", weight=3]; 102.84/63.27 1641[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos Zero)) (Integer (Pos Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1641 -> 1789[label="",style="solid", color="black", weight=3]; 102.84/63.27 1642[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1642 -> 1790[label="",style="solid", color="black", weight=3]; 102.84/63.27 4461[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal2 (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4461 -> 4548[label="",style="solid", color="black", weight=3]; 102.84/63.27 4462 -> 4549[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4462[label="Integer (Neg vuz216) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4462 -> 4550[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4543[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Neg (Succ vuz900)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal2 (abs (Integer (Neg (Succ vuz900)))))",fontsize=16,color="black",shape="box"];4543 -> 4671[label="",style="solid", color="black", weight=3]; 102.84/63.27 4544 -> 4672[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4544[label="Integer (Pos vuz226) `quot` gcd1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4544 -> 4673[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1656[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1656 -> 1807[label="",style="solid", color="black", weight=3]; 102.84/63.27 1657[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1657 -> 1808[label="",style="solid", color="black", weight=3]; 102.84/63.27 1658[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg Zero)) (Integer (Neg Zero) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1658 -> 1809[label="",style="solid", color="black", weight=3]; 102.84/63.27 1659[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (abs (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1659 -> 1810[label="",style="solid", color="black", weight=3]; 102.84/63.27 7064[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Pos vuz4140) == GT)",fontsize=16,color="black",shape="box"];7064 -> 7088[label="",style="solid", color="black", weight=3]; 102.84/63.27 7065[label="signumReal1 (Pos (Succ vuz900)) (primCmpInt (Pos (Succ vuz900)) (Neg vuz4140) == GT)",fontsize=16,color="black",shape="box"];7065 -> 7089[label="",style="solid", color="black", weight=3]; 102.84/63.27 7066[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos (Succ vuz41300)) == GT)",fontsize=16,color="black",shape="box"];7066 -> 7090[label="",style="solid", color="black", weight=3]; 102.84/63.27 7067[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];7067 -> 7091[label="",style="solid", color="black", weight=3]; 102.84/63.27 7068[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg (Succ vuz41300)) == GT)",fontsize=16,color="black",shape="box"];7068 -> 7092[label="",style="solid", color="black", weight=3]; 102.84/63.27 7069[label="signumReal1 (Pos Zero) (primCmpInt (Pos Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];7069 -> 7093[label="",style="solid", color="black", weight=3]; 102.84/63.27 4367[label="primRemInt (Pos vuz1560) vuz155",fontsize=16,color="burlywood",shape="box"];8555[label="vuz155/Pos vuz1550",fontsize=10,color="white",style="solid",shape="box"];4367 -> 8555[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8555 -> 4463[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8556[label="vuz155/Neg vuz1550",fontsize=10,color="white",style="solid",shape="box"];4367 -> 8556[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8556 -> 4464[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 4368[label="primRemInt (Neg vuz1560) vuz155",fontsize=16,color="burlywood",shape="box"];8557[label="vuz155/Pos vuz1550",fontsize=10,color="white",style="solid",shape="box"];4368 -> 8557[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8557 -> 4465[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8558[label="vuz155/Neg vuz1550",fontsize=10,color="white",style="solid",shape="box"];4368 -> 8558[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8558 -> 4466[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7776 -> 7692[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7776[label="primMinusNatS vuz4520 vuz4530",fontsize=16,color="magenta"];7776 -> 7805[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7776 -> 7806[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7777[label="Succ vuz4520",fontsize=16,color="green",shape="box"];7778[label="Zero",fontsize=16,color="green",shape="box"];7779[label="Zero",fontsize=16,color="green",shape="box"];7078 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7078[label="fromInt (Pos Zero)",fontsize=16,color="magenta"];7078 -> 7102[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7077[label="signumReal1 (Neg (Succ vuz900)) (Neg (Succ vuz900) > vuz427)",fontsize=16,color="black",shape="triangle"];7077 -> 7103[label="",style="solid", color="black", weight=3]; 102.84/63.27 7087[label="Pos Zero",fontsize=16,color="green",shape="box"];7291[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos (Succ vuz43100)) == GT)",fontsize=16,color="black",shape="box"];7291 -> 7322[label="",style="solid", color="black", weight=3]; 102.84/63.27 7292[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Pos Zero) == GT)",fontsize=16,color="black",shape="box"];7292 -> 7323[label="",style="solid", color="black", weight=3]; 102.84/63.27 7293[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg (Succ vuz43100)) == GT)",fontsize=16,color="black",shape="box"];7293 -> 7324[label="",style="solid", color="black", weight=3]; 102.84/63.27 7294[label="signumReal1 (Neg Zero) (primCmpInt (Neg Zero) (Neg Zero) == GT)",fontsize=16,color="black",shape="box"];7294 -> 7325[label="",style="solid", color="black", weight=3]; 102.84/63.27 1684[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt vuz8 (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt vuz8 (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="burlywood",shape="box"];8559[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];1684 -> 8559[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8559 -> 1837[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8560[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];1684 -> 8560[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8560 -> 1838[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 6026[label="Pos vuz340",fontsize=16,color="green",shape="box"];6027[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6028[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];4807[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="triangle"];4807 -> 4829[label="",style="solid", color="black", weight=3]; 102.84/63.27 6198[label="vuz900",fontsize=16,color="green",shape="box"];6199[label="Integer vuz268 `quot` gcd1 False (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6199 -> 6276[label="",style="solid", color="black", weight=3]; 102.84/63.27 6200[label="Integer vuz268 `quot` gcd1 True (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6200 -> 6277[label="",style="solid", color="black", weight=3]; 102.84/63.27 6273[label="Neg vuz359",fontsize=16,color="green",shape="box"];6274[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6275[label="Pos (Succ vuz900)",fontsize=16,color="green",shape="box"];6201[label="vuz900",fontsize=16,color="green",shape="box"];4545[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];4545 -> 4720[label="",style="solid", color="black", weight=3]; 102.84/63.27 4546[label="Integer vuz268 `quot` gcd2 False (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4546 -> 4721[label="",style="solid", color="black", weight=3]; 102.84/63.27 4547[label="Integer vuz268 `quot` gcd2 True (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4547 -> 4722[label="",style="solid", color="black", weight=3]; 102.84/63.27 1690 -> 4807[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1690[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];1690 -> 4808[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1690 -> 4809[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1690 -> 4810[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6066[label="Pos Zero",fontsize=16,color="green",shape="box"];6067[label="Pos Zero",fontsize=16,color="green",shape="box"];6068[label="Pos Zero",fontsize=16,color="green",shape="box"];6069 -> 131[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6069[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1693 -> 4807[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1693[label="Integer (Pos Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (Integer (Pos Zero)))",fontsize=16,color="magenta"];1693 -> 4811[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1693 -> 4812[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1693 -> 4813[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6070[label="Neg Zero",fontsize=16,color="green",shape="box"];6071[label="Pos Zero",fontsize=16,color="green",shape="box"];6072[label="Pos Zero",fontsize=16,color="green",shape="box"];6073 -> 131[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6073[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1696[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * fromInt (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * fromInt (Neg (Succ Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1696 -> 1853[label="",style="solid", color="black", weight=3]; 102.84/63.27 1698 -> 4807[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1698[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Pos Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];1698 -> 4814[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1698 -> 4815[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1698 -> 4816[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6074[label="Pos Zero",fontsize=16,color="green",shape="box"];6075[label="Neg Zero",fontsize=16,color="green",shape="box"];6076[label="Neg Zero",fontsize=16,color="green",shape="box"];6077 -> 133[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6077[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1701 -> 4807[label="",style="dashed", color="red", weight=0]; 102.84/63.27 1701[label="Integer (Neg Zero) `quot` gcd0Gcd' (abs (Integer (Neg Zero))) (abs (Integer (Neg Zero)))",fontsize=16,color="magenta"];1701 -> 4817[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1701 -> 4818[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1701 -> 4819[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6078[label="Neg Zero",fontsize=16,color="green",shape="box"];6079[label="Neg Zero",fontsize=16,color="green",shape="box"];6080[label="Neg Zero",fontsize=16,color="green",shape="box"];6081 -> 133[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6081[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4142[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];4142 -> 4276[label="",style="solid", color="black", weight=3]; 102.84/63.27 4143[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4143 -> 4277[label="",style="solid", color="black", weight=3]; 102.84/63.27 4144[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];4144 -> 4278[label="",style="solid", color="black", weight=3]; 102.84/63.27 4145[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4145 -> 4279[label="",style="solid", color="black", weight=3]; 102.84/63.27 1787[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1787 -> 1961[label="",style="solid", color="black", weight=3]; 102.84/63.27 1788[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1788 -> 1962[label="",style="solid", color="black", weight=3]; 102.84/63.27 1789[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos Zero)) (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1789 -> 1963[label="",style="solid", color="black", weight=3]; 102.84/63.27 1790[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1790 -> 1964[label="",style="solid", color="black", weight=3]; 102.84/63.27 4548[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4548 -> 4723[label="",style="solid", color="black", weight=3]; 102.84/63.27 4550 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4550[label="absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4550 -> 4724[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4549[label="Integer (Neg vuz216) `quot` gcd1 vuz284 (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8561[label="vuz284/False",fontsize=10,color="white",style="solid",shape="box"];4549 -> 8561[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8561 -> 4725[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8562[label="vuz284/True",fontsize=10,color="white",style="solid",shape="box"];4549 -> 8562[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8562 -> 4726[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 4671[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (abs (Integer (Neg (Succ vuz900))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4671 -> 4727[label="",style="solid", color="black", weight=3]; 102.84/63.27 4673 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4673[label="absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4673 -> 4728[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4672[label="Integer (Pos vuz226) `quot` gcd1 vuz294 (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8563[label="vuz294/False",fontsize=10,color="white",style="solid",shape="box"];4672 -> 8563[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8563 -> 4729[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8564[label="vuz294/True",fontsize=10,color="white",style="solid",shape="box"];4672 -> 8564[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8564 -> 4730[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 1807[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1807 -> 1982[label="",style="solid", color="black", weight=3]; 102.84/63.27 1808[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1808 -> 1983[label="",style="solid", color="black", weight=3]; 102.84/63.27 1809[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg Zero)) (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];1809 -> 1984[label="",style="solid", color="black", weight=3]; 102.84/63.27 1810[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1810 -> 1985[label="",style="solid", color="black", weight=3]; 102.84/63.27 7088 -> 7698[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7088[label="signumReal1 (Pos (Succ vuz900)) (primCmpNat (Succ vuz900) vuz4140 == GT)",fontsize=16,color="magenta"];7088 -> 7699[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7088 -> 7700[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7088 -> 7701[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7089[label="signumReal1 (Pos (Succ vuz900)) (GT == GT)",fontsize=16,color="black",shape="triangle"];7089 -> 7141[label="",style="solid", color="black", weight=3]; 102.84/63.27 7090[label="signumReal1 (Pos Zero) (primCmpNat Zero (Succ vuz41300) == GT)",fontsize=16,color="black",shape="box"];7090 -> 7142[label="",style="solid", color="black", weight=3]; 102.84/63.27 7091[label="signumReal1 (Pos Zero) (EQ == GT)",fontsize=16,color="black",shape="triangle"];7091 -> 7143[label="",style="solid", color="black", weight=3]; 102.84/63.27 7092[label="signumReal1 (Pos Zero) (GT == GT)",fontsize=16,color="black",shape="box"];7092 -> 7144[label="",style="solid", color="black", weight=3]; 102.84/63.27 7093 -> 7091[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7093[label="signumReal1 (Pos Zero) (EQ == GT)",fontsize=16,color="magenta"];4463[label="primRemInt (Pos vuz1560) (Pos vuz1550)",fontsize=16,color="burlywood",shape="box"];8565[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4463 -> 8565[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8565 -> 4738[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8566[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4463 -> 8566[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8566 -> 4739[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 4464[label="primRemInt (Pos vuz1560) (Neg vuz1550)",fontsize=16,color="burlywood",shape="box"];8567[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4464 -> 8567[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8567 -> 4740[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8568[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4464 -> 8568[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8568 -> 4741[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 4465[label="primRemInt (Neg vuz1560) (Pos vuz1550)",fontsize=16,color="burlywood",shape="box"];8569[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4465 -> 8569[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8569 -> 4742[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8570[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4465 -> 8570[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8570 -> 4743[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 4466[label="primRemInt (Neg vuz1560) (Neg vuz1550)",fontsize=16,color="burlywood",shape="box"];8571[label="vuz1550/Succ vuz15500",fontsize=10,color="white",style="solid",shape="box"];4466 -> 8571[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8571 -> 4744[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8572[label="vuz1550/Zero",fontsize=10,color="white",style="solid",shape="box"];4466 -> 8572[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8572 -> 4745[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7805[label="vuz4520",fontsize=16,color="green",shape="box"];7806[label="vuz4530",fontsize=16,color="green",shape="box"];7102[label="Pos Zero",fontsize=16,color="green",shape="box"];7103[label="signumReal1 (Neg (Succ vuz900)) (compare (Neg (Succ vuz900)) vuz427 == GT)",fontsize=16,color="black",shape="box"];7103 -> 7152[label="",style="solid", color="black", weight=3]; 102.84/63.27 7322[label="signumReal1 (Neg Zero) (LT == GT)",fontsize=16,color="black",shape="box"];7322 -> 7338[label="",style="solid", color="black", weight=3]; 102.84/63.27 7323[label="signumReal1 (Neg Zero) (EQ == GT)",fontsize=16,color="black",shape="triangle"];7323 -> 7339[label="",style="solid", color="black", weight=3]; 102.84/63.27 7324[label="signumReal1 (Neg Zero) (primCmpNat (Succ vuz43100) Zero == GT)",fontsize=16,color="black",shape="box"];7324 -> 7340[label="",style="solid", color="black", weight=3]; 102.84/63.27 7325 -> 7323[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7325[label="signumReal1 (Neg Zero) (EQ == GT)",fontsize=16,color="magenta"];1837[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Pos vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Pos vuz80) (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1837 -> 2012[label="",style="solid", color="black", weight=3]; 102.84/63.27 1838[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (primMulInt (Neg vuz80) (Pos (Succ Zero))) (Pos Zero)) (Integer (primMulInt (Neg vuz80) (Pos (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="black",shape="box"];1838 -> 2013[label="",style="solid", color="black", weight=3]; 102.84/63.27 4829[label="Integer vuz268 `quot` gcd0Gcd'2 (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="box"];4829 -> 4833[label="",style="solid", color="black", weight=3]; 102.84/63.27 6276[label="Integer vuz268 `quot` gcd0 (Integer vuz299) (Integer vuz269)",fontsize=16,color="black",shape="box"];6276 -> 6976[label="",style="solid", color="black", weight=3]; 102.84/63.27 6277[label="Integer vuz268 `quot` error []",fontsize=16,color="black",shape="triangle"];6277 -> 6977[label="",style="solid", color="black", weight=3]; 102.84/63.27 4720 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4720[label="primEqInt (primMulInt vuz8 (Neg (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];4720 -> 4773[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4720 -> 4774[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4721[label="Integer vuz268 `quot` gcd0 (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="black",shape="box"];4721 -> 4775[label="",style="solid", color="black", weight=3]; 102.84/63.27 4722 -> 6053[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4722[label="Integer vuz268 `quot` gcd1 (Integer vuz269 == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer vuz269)",fontsize=16,color="magenta"];4722 -> 6098[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4722 -> 6099[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4808[label="Pos Zero",fontsize=16,color="green",shape="box"];4809[label="Pos Zero",fontsize=16,color="green",shape="box"];4810[label="Pos Zero",fontsize=16,color="green",shape="box"];4811[label="Neg Zero",fontsize=16,color="green",shape="box"];4812[label="Pos Zero",fontsize=16,color="green",shape="box"];4813[label="Pos Zero",fontsize=16,color="green",shape="box"];1853[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer vuz8 * Integer (Neg (Succ Zero)) == fromInt (Pos Zero)) (Integer vuz8 * Integer (Neg (Succ Zero))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="black",shape="box"];1853 -> 2030[label="",style="solid", color="black", weight=3]; 102.84/63.27 4814[label="Pos Zero",fontsize=16,color="green",shape="box"];4815[label="Neg Zero",fontsize=16,color="green",shape="box"];4816[label="Neg Zero",fontsize=16,color="green",shape="box"];4817[label="Neg Zero",fontsize=16,color="green",shape="box"];4818[label="Neg Zero",fontsize=16,color="green",shape="box"];4819[label="Neg Zero",fontsize=16,color="green",shape="box"];4276[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos (Succ vuz196)))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal2 (abs (Integer (Pos (Succ vuz196)))))",fontsize=16,color="black",shape="box"];4276 -> 4748[label="",style="solid", color="black", weight=3]; 102.84/63.27 4277 -> 4749[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4277[label="Integer (Pos vuz209) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4277 -> 4750[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4278[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal2 (abs (Integer (Pos (Succ vuz204)))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal2 (abs (Integer (Pos (Succ vuz204)))))",fontsize=16,color="black",shape="box"];4278 -> 4777[label="",style="solid", color="black", weight=3]; 102.84/63.27 4279 -> 4778[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4279[label="Integer (Neg vuz213) `quot` gcd1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];4279 -> 4779[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 1961[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1961 -> 2271[label="",style="solid", color="black", weight=3]; 102.84/63.27 1962[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1962 -> 2272[label="",style="solid", color="black", weight=3]; 102.84/63.27 1963[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1963 -> 2273[label="",style="solid", color="black", weight=3]; 102.84/63.27 1964[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1964 -> 2274[label="",style="solid", color="black", weight=3]; 102.84/63.27 4723[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4723 -> 4786[label="",style="solid", color="black", weight=3]; 102.84/63.27 4724[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];4725[label="Integer (Neg vuz216) `quot` gcd1 False (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4725 -> 4787[label="",style="solid", color="black", weight=3]; 102.84/63.27 4726[label="Integer (Neg vuz216) `quot` gcd1 True (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4726 -> 4788[label="",style="solid", color="black", weight=3]; 102.84/63.27 4727[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4727 -> 4789[label="",style="solid", color="black", weight=3]; 102.84/63.27 4728[label="Neg (Succ vuz900)",fontsize=16,color="green",shape="box"];4729[label="Integer (Pos vuz226) `quot` gcd1 False (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4729 -> 4790[label="",style="solid", color="black", weight=3]; 102.84/63.27 4730[label="Integer (Pos vuz226) `quot` gcd1 True (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4730 -> 4791[label="",style="solid", color="black", weight=3]; 102.84/63.27 1982[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1982 -> 2304[label="",style="solid", color="black", weight=3]; 102.84/63.27 1983[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1983 -> 2305[label="",style="solid", color="black", weight=3]; 102.84/63.27 1984[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];1984 -> 2306[label="",style="solid", color="black", weight=3]; 102.84/63.27 1985[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal2 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];1985 -> 2307[label="",style="solid", color="black", weight=3]; 102.84/63.27 7699[label="vuz900",fontsize=16,color="green",shape="box"];7700[label="vuz4140",fontsize=16,color="green",shape="box"];7701[label="Succ vuz900",fontsize=16,color="green",shape="box"];7698[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat vuz458 vuz459 == GT)",fontsize=16,color="burlywood",shape="triangle"];8573[label="vuz458/Succ vuz4580",fontsize=10,color="white",style="solid",shape="box"];7698 -> 8573[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8573 -> 7722[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8574[label="vuz458/Zero",fontsize=10,color="white",style="solid",shape="box"];7698 -> 8574[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8574 -> 7723[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7141[label="signumReal1 (Pos (Succ vuz900)) True",fontsize=16,color="black",shape="box"];7141 -> 7179[label="",style="solid", color="black", weight=3]; 102.84/63.27 7142[label="signumReal1 (Pos Zero) (LT == GT)",fontsize=16,color="black",shape="box"];7142 -> 7180[label="",style="solid", color="black", weight=3]; 102.84/63.27 7143[label="signumReal1 (Pos Zero) False",fontsize=16,color="black",shape="triangle"];7143 -> 7181[label="",style="solid", color="black", weight=3]; 102.84/63.27 7144[label="signumReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];7144 -> 7182[label="",style="solid", color="black", weight=3]; 102.84/63.27 4738[label="primRemInt (Pos vuz1560) (Pos (Succ vuz15500))",fontsize=16,color="black",shape="box"];4738 -> 4842[label="",style="solid", color="black", weight=3]; 102.84/63.27 4739[label="primRemInt (Pos vuz1560) (Pos Zero)",fontsize=16,color="black",shape="box"];4739 -> 4843[label="",style="solid", color="black", weight=3]; 102.84/63.27 4740[label="primRemInt (Pos vuz1560) (Neg (Succ vuz15500))",fontsize=16,color="black",shape="box"];4740 -> 4844[label="",style="solid", color="black", weight=3]; 102.84/63.27 4741[label="primRemInt (Pos vuz1560) (Neg Zero)",fontsize=16,color="black",shape="box"];4741 -> 4845[label="",style="solid", color="black", weight=3]; 102.84/63.27 4742[label="primRemInt (Neg vuz1560) (Pos (Succ vuz15500))",fontsize=16,color="black",shape="box"];4742 -> 4846[label="",style="solid", color="black", weight=3]; 102.84/63.27 4743[label="primRemInt (Neg vuz1560) (Pos Zero)",fontsize=16,color="black",shape="box"];4743 -> 4847[label="",style="solid", color="black", weight=3]; 102.84/63.27 4744[label="primRemInt (Neg vuz1560) (Neg (Succ vuz15500))",fontsize=16,color="black",shape="box"];4744 -> 4848[label="",style="solid", color="black", weight=3]; 102.84/63.27 4745[label="primRemInt (Neg vuz1560) (Neg Zero)",fontsize=16,color="black",shape="box"];4745 -> 4849[label="",style="solid", color="black", weight=3]; 102.84/63.27 7152[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) vuz427 == GT)",fontsize=16,color="burlywood",shape="box"];8575[label="vuz427/Pos vuz4270",fontsize=10,color="white",style="solid",shape="box"];7152 -> 8575[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8575 -> 7190[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8576[label="vuz427/Neg vuz4270",fontsize=10,color="white",style="solid",shape="box"];7152 -> 8576[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8576 -> 7191[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7338[label="signumReal1 (Neg Zero) False",fontsize=16,color="black",shape="triangle"];7338 -> 7344[label="",style="solid", color="black", weight=3]; 102.84/63.27 7339 -> 7338[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7339[label="signumReal1 (Neg Zero) False",fontsize=16,color="magenta"];7340[label="signumReal1 (Neg Zero) (GT == GT)",fontsize=16,color="black",shape="box"];7340 -> 7345[label="",style="solid", color="black", weight=3]; 102.84/63.27 2012 -> 5797[label="",style="dashed", color="red", weight=0]; 102.84/63.27 2012[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Pos (primMulNat vuz80 (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];2012 -> 5806[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 2012 -> 5807[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 2013 -> 5931[label="",style="dashed", color="red", weight=0]; 102.84/63.27 2013[label="Integer (Pos (Succ vuz900)) `quot` gcd2 (primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)) (Integer (Neg (primMulNat vuz80 (Succ Zero)))) (Integer (Pos (Succ vuz900)))",fontsize=16,color="magenta"];2013 -> 5940[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 2013 -> 5941[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4833[label="Integer vuz268 `quot` gcd0Gcd'1 (abs (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (abs (Integer vuz269))",fontsize=16,color="black",shape="box"];4833 -> 5323[label="",style="solid", color="black", weight=3]; 102.84/63.27 6976 -> 4807[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6976[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer vuz299)) (abs (Integer vuz269))",fontsize=16,color="magenta"];6976 -> 7032[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6977[label="error []",fontsize=16,color="red",shape="box"];4773[label="Pos Zero",fontsize=16,color="green",shape="box"];4774[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="burlywood",shape="triangle"];8577[label="vuz8/Pos vuz80",fontsize=10,color="white",style="solid",shape="box"];4774 -> 8577[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8577 -> 4805[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8578[label="vuz8/Neg vuz80",fontsize=10,color="white",style="solid",shape="box"];4774 -> 8578[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8578 -> 4806[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 4775 -> 4807[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4775[label="Integer vuz268 `quot` gcd0Gcd' (abs (Integer (primMulInt vuz8 (Neg (Succ Zero))))) (abs (Integer vuz269))",fontsize=16,color="magenta"];4775 -> 4826[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6098 -> 4774[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6098[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="magenta"];6099[label="Integer vuz269 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];6099 -> 6202[label="",style="solid", color="black", weight=3]; 102.84/63.27 2030 -> 4467[label="",style="dashed", color="red", weight=0]; 102.84/63.27 2030[label="Integer (primNegInt (Neg (Succ vuz900))) `quot` gcd2 (Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)) (Integer (primMulInt vuz8 (Neg (Succ Zero)))) (Integer (primNegInt (Neg (Succ vuz900))))",fontsize=16,color="magenta"];2030 -> 4482[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 2030 -> 4483[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 2030 -> 4484[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4748[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (abs (Integer (Pos (Succ vuz196))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (abs (Integer (Pos (Succ vuz196))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4748 -> 4857[label="",style="solid", color="black", weight=3]; 102.84/63.27 4750 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4750[label="absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4750 -> 4858[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4749[label="Integer (Pos vuz209) `quot` gcd1 vuz296 (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8579[label="vuz296/False",fontsize=10,color="white",style="solid",shape="box"];4749 -> 8579[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8579 -> 4859[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8580[label="vuz296/True",fontsize=10,color="white",style="solid",shape="box"];4749 -> 8580[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8580 -> 4860[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 4777[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (abs (Integer (Pos (Succ vuz204))) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (abs (Integer (Pos (Succ vuz204))) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];4777 -> 4861[label="",style="solid", color="black", weight=3]; 102.84/63.27 4779 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4779[label="absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4779 -> 4862[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4778[label="Integer (Neg vuz213) `quot` gcd1 vuz297 (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8581[label="vuz297/False",fontsize=10,color="white",style="solid",shape="box"];4778 -> 8581[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8581 -> 4863[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8582[label="vuz297/True",fontsize=10,color="white",style="solid",shape="box"];4778 -> 8582[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8582 -> 4864[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 2271[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2271 -> 3588[label="",style="solid", color="black", weight=3]; 102.84/63.27 2272[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2272 -> 3589[label="",style="solid", color="black", weight=3]; 102.84/63.27 2273[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2273 -> 3590[label="",style="solid", color="black", weight=3]; 102.84/63.27 2274[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2274 -> 3591[label="",style="solid", color="black", weight=3]; 102.84/63.27 4786[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4786 -> 4865[label="",style="solid", color="black", weight=3]; 102.84/63.27 4787[label="Integer (Neg vuz216) `quot` gcd0 (Integer (Neg vuz217)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4787 -> 4866[label="",style="solid", color="black", weight=3]; 102.84/63.27 4788[label="Integer (Neg vuz216) `quot` error []",fontsize=16,color="black",shape="box"];4788 -> 4867[label="",style="solid", color="black", weight=3]; 102.84/63.27 4789[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (abs (Integer (Neg (Succ vuz900)))) (not (compare (abs (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4789 -> 4868[label="",style="solid", color="black", weight=3]; 102.84/63.27 4790[label="Integer (Pos vuz226) `quot` gcd0 (Integer (Pos vuz227)) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4790 -> 4869[label="",style="solid", color="black", weight=3]; 102.84/63.27 4791[label="Integer (Pos vuz226) `quot` error []",fontsize=16,color="black",shape="box"];4791 -> 4870[label="",style="solid", color="black", weight=3]; 102.84/63.27 2304[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2304 -> 3785[label="",style="solid", color="black", weight=3]; 102.84/63.27 2305[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2305 -> 3786[label="",style="solid", color="black", weight=3]; 102.84/63.27 2306[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];2306 -> 3787[label="",style="solid", color="black", weight=3]; 102.84/63.27 2307[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];2307 -> 3788[label="",style="solid", color="black", weight=3]; 102.84/63.27 7722[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) vuz459 == GT)",fontsize=16,color="burlywood",shape="box"];8583[label="vuz459/Succ vuz4590",fontsize=10,color="white",style="solid",shape="box"];7722 -> 8583[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8583 -> 7750[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8584[label="vuz459/Zero",fontsize=10,color="white",style="solid",shape="box"];7722 -> 8584[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8584 -> 7751[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7723[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero vuz459 == GT)",fontsize=16,color="burlywood",shape="box"];8585[label="vuz459/Succ vuz4590",fontsize=10,color="white",style="solid",shape="box"];7723 -> 8585[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8585 -> 7752[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8586[label="vuz459/Zero",fontsize=10,color="white",style="solid",shape="box"];7723 -> 8586[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8586 -> 7753[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7179 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7179[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7179 -> 7211[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7180 -> 7143[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7180[label="signumReal1 (Pos Zero) False",fontsize=16,color="magenta"];7181[label="signumReal0 (Pos Zero) otherwise",fontsize=16,color="black",shape="box"];7181 -> 7212[label="",style="solid", color="black", weight=3]; 102.84/63.27 7182 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7182[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7182 -> 7213[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4842[label="Pos (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4842 -> 5923[label="",style="dashed", color="green", weight=3]; 102.84/63.27 4843 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4843[label="error []",fontsize=16,color="magenta"];4844[label="Pos (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4844 -> 5924[label="",style="dashed", color="green", weight=3]; 102.84/63.27 4845 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4845[label="error []",fontsize=16,color="magenta"];4846[label="Neg (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4846 -> 5925[label="",style="dashed", color="green", weight=3]; 102.84/63.27 4847 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4847[label="error []",fontsize=16,color="magenta"];4848[label="Neg (primModNatS vuz1560 (Succ vuz15500))",fontsize=16,color="green",shape="box"];4848 -> 5926[label="",style="dashed", color="green", weight=3]; 102.84/63.27 4849 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4849[label="error []",fontsize=16,color="magenta"];7190[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Pos vuz4270) == GT)",fontsize=16,color="black",shape="box"];7190 -> 7222[label="",style="solid", color="black", weight=3]; 102.84/63.27 7191[label="signumReal1 (Neg (Succ vuz900)) (primCmpInt (Neg (Succ vuz900)) (Neg vuz4270) == GT)",fontsize=16,color="black",shape="box"];7191 -> 7223[label="",style="solid", color="black", weight=3]; 102.84/63.27 7344[label="signumReal0 (Neg Zero) otherwise",fontsize=16,color="black",shape="box"];7344 -> 7349[label="",style="solid", color="black", weight=3]; 102.84/63.27 7345[label="signumReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];7345 -> 7350[label="",style="solid", color="black", weight=3]; 102.84/63.27 5806 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5806[label="primEqInt (Pos (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];5806 -> 5927[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5806 -> 5928[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5807 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5807[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5807 -> 5929[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5807 -> 5930[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5940 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5940[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];5940 -> 6040[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5940 -> 6041[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5941 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5941[label="primEqInt (Neg (primMulNat vuz80 (Succ Zero))) (Pos Zero)",fontsize=16,color="magenta"];5941 -> 6042[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5941 -> 6043[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5323[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal (Integer vuz269))",fontsize=16,color="black",shape="box"];5323 -> 6203[label="",style="solid", color="black", weight=3]; 102.84/63.27 7032[label="vuz299",fontsize=16,color="green",shape="box"];4805[label="primMulInt (Pos vuz80) (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];4805 -> 4884[label="",style="solid", color="black", weight=3]; 102.84/63.27 4806[label="primMulInt (Neg vuz80) (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];4806 -> 4885[label="",style="solid", color="black", weight=3]; 102.84/63.27 4826 -> 4774[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4826[label="primMulInt vuz8 (Neg (Succ Zero))",fontsize=16,color="magenta"];6202[label="Integer vuz269 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];6202 -> 6284[label="",style="solid", color="black", weight=3]; 102.84/63.27 4482 -> 4468[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4482[label="Integer (primMulInt vuz8 (Neg (Succ Zero))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];4483 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4483[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];4483 -> 4887[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4484 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 4484[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];4484 -> 4888[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4857[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4857 -> 5773[label="",style="solid", color="black", weight=3]; 102.84/63.27 4858[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];4859[label="Integer (Pos vuz209) `quot` gcd1 False (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4859 -> 5774[label="",style="solid", color="black", weight=3]; 102.84/63.27 4860[label="Integer (Pos vuz209) `quot` gcd1 True (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4860 -> 5775[label="",style="solid", color="black", weight=3]; 102.84/63.27 4861[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];4861 -> 5776[label="",style="solid", color="black", weight=3]; 102.84/63.27 4862[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];4863[label="Integer (Neg vuz213) `quot` gcd1 False (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4863 -> 5777[label="",style="solid", color="black", weight=3]; 102.84/63.27 4864[label="Integer (Neg vuz213) `quot` gcd1 True (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4864 -> 5778[label="",style="solid", color="black", weight=3]; 102.84/63.27 3588[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3588 -> 5779[label="",style="solid", color="black", weight=3]; 102.84/63.27 3589[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3589 -> 5780[label="",style="solid", color="black", weight=3]; 102.84/63.27 3590[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3590 -> 5781[label="",style="solid", color="black", weight=3]; 102.84/63.27 3591[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3591 -> 5782[label="",style="solid", color="black", weight=3]; 102.84/63.27 4865[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4865 -> 5783[label="",style="solid", color="black", weight=3]; 102.84/63.27 4866[label="Integer (Neg vuz216) `quot` gcd0Gcd' (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];4866 -> 5784[label="",style="solid", color="black", weight=3]; 102.84/63.27 4867[label="error []",fontsize=16,color="red",shape="box"];4868[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal (Integer (Neg (Succ vuz900)))) (not (compare (absReal (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];4868 -> 5785[label="",style="solid", color="black", weight=3]; 102.84/63.27 4869[label="Integer (Pos vuz226) `quot` gcd0Gcd' (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];4869 -> 5786[label="",style="solid", color="black", weight=3]; 102.84/63.27 4870[label="error []",fontsize=16,color="red",shape="box"];3785[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3785 -> 5787[label="",style="solid", color="black", weight=3]; 102.84/63.27 3786[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3786 -> 5788[label="",style="solid", color="black", weight=3]; 102.84/63.27 3787[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];3787 -> 5789[label="",style="solid", color="black", weight=3]; 102.84/63.27 3788[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];3788 -> 5790[label="",style="solid", color="black", weight=3]; 102.84/63.27 7750[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) (Succ vuz4590) == GT)",fontsize=16,color="black",shape="box"];7750 -> 7780[label="",style="solid", color="black", weight=3]; 102.84/63.27 7751[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat (Succ vuz4580) Zero == GT)",fontsize=16,color="black",shape="box"];7751 -> 7781[label="",style="solid", color="black", weight=3]; 102.84/63.27 7752[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero (Succ vuz4590) == GT)",fontsize=16,color="black",shape="box"];7752 -> 7782[label="",style="solid", color="black", weight=3]; 102.84/63.27 7753[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];7753 -> 7783[label="",style="solid", color="black", weight=3]; 102.84/63.27 7211[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7212[label="signumReal0 (Pos Zero) True",fontsize=16,color="black",shape="box"];7212 -> 7251[label="",style="solid", color="black", weight=3]; 102.84/63.27 7213[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];5923[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="burlywood",shape="triangle"];8587[label="vuz1560/Succ vuz15600",fontsize=10,color="white",style="solid",shape="box"];5923 -> 8587[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8587 -> 6044[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8588[label="vuz1560/Zero",fontsize=10,color="white",style="solid",shape="box"];5923 -> 8588[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8588 -> 6045[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 5924 -> 5923[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5924[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5924 -> 6046[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5925 -> 5923[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5925[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5925 -> 6047[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5926 -> 5923[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5926[label="primModNatS vuz1560 (Succ vuz15500)",fontsize=16,color="magenta"];5926 -> 6048[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5926 -> 6049[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7222[label="signumReal1 (Neg (Succ vuz900)) (LT == GT)",fontsize=16,color="black",shape="triangle"];7222 -> 7264[label="",style="solid", color="black", weight=3]; 102.84/63.27 7223 -> 7812[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7223[label="signumReal1 (Neg (Succ vuz900)) (primCmpNat vuz4270 (Succ vuz900) == GT)",fontsize=16,color="magenta"];7223 -> 7813[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7223 -> 7814[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7223 -> 7815[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7349[label="signumReal0 (Neg Zero) True",fontsize=16,color="black",shape="box"];7349 -> 7353[label="",style="solid", color="black", weight=3]; 102.84/63.27 7350 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7350[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7350 -> 7354[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5927[label="Pos Zero",fontsize=16,color="green",shape="box"];5928[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];5928 -> 6050[label="",style="dashed", color="green", weight=3]; 102.84/63.27 5929[label="Succ Zero",fontsize=16,color="green",shape="box"];5930[label="vuz80",fontsize=16,color="green",shape="box"];6040[label="Succ Zero",fontsize=16,color="green",shape="box"];6041[label="vuz80",fontsize=16,color="green",shape="box"];6042[label="Pos Zero",fontsize=16,color="green",shape="box"];6043[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];6043 -> 6204[label="",style="dashed", color="green", weight=3]; 102.84/63.27 6203[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal2 (Integer vuz269) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal2 (Integer vuz269))",fontsize=16,color="black",shape="box"];6203 -> 6285[label="",style="solid", color="black", weight=3]; 102.84/63.27 4884[label="Neg (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];4884 -> 6051[label="",style="dashed", color="green", weight=3]; 102.84/63.27 4885[label="Pos (primMulNat vuz80 (Succ Zero))",fontsize=16,color="green",shape="box"];4885 -> 6052[label="",style="dashed", color="green", weight=3]; 102.84/63.27 6284 -> 2647[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6284[label="primEqInt vuz269 (Pos Zero)",fontsize=16,color="magenta"];6284 -> 6978[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6284 -> 6979[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 4887[label="vuz900",fontsize=16,color="green",shape="box"];4888[label="vuz900",fontsize=16,color="green",shape="box"];5773[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz196)))) (not (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (abs (Integer (Pos (Succ vuz196)))) (not (compare (abs (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5773 -> 6980[label="",style="solid", color="black", weight=3]; 102.84/63.27 5774[label="Integer (Pos vuz209) `quot` gcd0 (Integer (Pos vuz210)) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5774 -> 6981[label="",style="solid", color="black", weight=3]; 102.84/63.27 5775 -> 6277[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5775[label="Integer (Pos vuz209) `quot` error []",fontsize=16,color="magenta"];5775 -> 6982[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5776[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (abs (Integer (Pos (Succ vuz204)))) (not (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (abs (Integer (Pos (Succ vuz204)))) (not (compare (abs (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5776 -> 6983[label="",style="solid", color="black", weight=3]; 102.84/63.27 5777[label="Integer (Neg vuz213) `quot` gcd0 (Integer (Neg vuz214)) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5777 -> 6984[label="",style="solid", color="black", weight=3]; 102.84/63.27 5778 -> 6277[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5778[label="Integer (Neg vuz213) `quot` error []",fontsize=16,color="magenta"];5778 -> 6985[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 5779[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5779 -> 6986[label="",style="solid", color="black", weight=3]; 102.84/63.27 5780 -> 1961[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5780[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5781[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5781 -> 6987[label="",style="solid", color="black", weight=3]; 102.84/63.27 5782 -> 1963[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5782[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5783[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5783 -> 6988[label="",style="solid", color="black", weight=3]; 102.84/63.27 5784[label="Integer (Neg vuz216) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];5784 -> 6989[label="",style="solid", color="black", weight=3]; 102.84/63.27 5785[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal2 (Integer (Neg (Succ vuz900)))) (not (compare (absReal2 (Integer (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5785 -> 6990[label="",style="solid", color="black", weight=3]; 102.84/63.27 5786[label="Integer (Pos vuz226) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];5786 -> 6991[label="",style="solid", color="black", weight=3]; 102.84/63.27 5787[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5787 -> 6992[label="",style="solid", color="black", weight=3]; 102.84/63.27 5788 -> 1982[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5788[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];5789[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];5789 -> 6993[label="",style="solid", color="black", weight=3]; 102.84/63.27 5790 -> 1984[label="",style="dashed", color="red", weight=0]; 102.84/63.27 5790[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7780 -> 7698[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7780[label="signumReal1 (Pos (Succ vuz457)) (primCmpNat vuz4580 vuz4590 == GT)",fontsize=16,color="magenta"];7780 -> 7807[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7780 -> 7808[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7781[label="signumReal1 (Pos (Succ vuz457)) (GT == GT)",fontsize=16,color="black",shape="box"];7781 -> 7809[label="",style="solid", color="black", weight=3]; 102.84/63.27 7782[label="signumReal1 (Pos (Succ vuz457)) (LT == GT)",fontsize=16,color="black",shape="box"];7782 -> 7810[label="",style="solid", color="black", weight=3]; 102.84/63.27 7783[label="signumReal1 (Pos (Succ vuz457)) (EQ == GT)",fontsize=16,color="black",shape="box"];7783 -> 7811[label="",style="solid", color="black", weight=3]; 102.84/63.27 7251 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7251[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7251 -> 7271[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6044[label="primModNatS (Succ vuz15600) (Succ vuz15500)",fontsize=16,color="black",shape="box"];6044 -> 6994[label="",style="solid", color="black", weight=3]; 102.84/63.27 6045[label="primModNatS Zero (Succ vuz15500)",fontsize=16,color="black",shape="box"];6045 -> 6995[label="",style="solid", color="black", weight=3]; 102.84/63.27 6046[label="vuz15500",fontsize=16,color="green",shape="box"];6047[label="vuz1560",fontsize=16,color="green",shape="box"];6048[label="vuz15500",fontsize=16,color="green",shape="box"];6049[label="vuz1560",fontsize=16,color="green",shape="box"];7264[label="signumReal1 (Neg (Succ vuz900)) False",fontsize=16,color="black",shape="triangle"];7264 -> 7296[label="",style="solid", color="black", weight=3]; 102.84/63.27 7813[label="vuz4270",fontsize=16,color="green",shape="box"];7814[label="vuz900",fontsize=16,color="green",shape="box"];7815[label="Succ vuz900",fontsize=16,color="green",shape="box"];7812[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat vuz462 vuz463 == GT)",fontsize=16,color="burlywood",shape="triangle"];8589[label="vuz462/Succ vuz4620",fontsize=10,color="white",style="solid",shape="box"];7812 -> 8589[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8589 -> 7834[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8590[label="vuz462/Zero",fontsize=10,color="white",style="solid",shape="box"];7812 -> 8590[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8590 -> 7835[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7353 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7353[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7353 -> 7401[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7354[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];6050 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6050[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6050 -> 6996[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6050 -> 6997[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6204 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6204[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6204 -> 6998[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6204 -> 6999[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6285[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (Integer vuz269 >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (Integer vuz269 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];6285 -> 7000[label="",style="solid", color="black", weight=3]; 102.84/63.27 6051 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6051[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6051 -> 7001[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6051 -> 7002[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6052 -> 4436[label="",style="dashed", color="red", weight=0]; 102.84/63.27 6052[label="primMulNat vuz80 (Succ Zero)",fontsize=16,color="magenta"];6052 -> 7003[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6052 -> 7004[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 6978[label="Pos Zero",fontsize=16,color="green",shape="box"];6979[label="vuz269",fontsize=16,color="green",shape="box"];6980[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos (Succ vuz196)))) (not (compare (absReal (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal (Integer (Pos (Succ vuz196)))) (not (compare (absReal (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6980 -> 7033[label="",style="solid", color="black", weight=3]; 102.84/63.27 6981[label="Integer (Pos vuz209) `quot` gcd0Gcd' (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6981 -> 7034[label="",style="solid", color="black", weight=3]; 102.84/63.27 6982[label="Pos vuz209",fontsize=16,color="green",shape="box"];6983[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal (Integer (Pos (Succ vuz204)))) (not (compare (absReal (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal (Integer (Pos (Succ vuz204)))) (not (compare (absReal (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6983 -> 7035[label="",style="solid", color="black", weight=3]; 102.84/63.27 6984[label="Integer (Neg vuz213) `quot` gcd0Gcd' (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6984 -> 7036[label="",style="solid", color="black", weight=3]; 102.84/63.27 6985[label="Neg vuz213",fontsize=16,color="green",shape="box"];6986[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6986 -> 7037[label="",style="solid", color="black", weight=3]; 102.84/63.27 6987[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) (not False)) (not (compare (absReal1 (Integer (Pos Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6987 -> 7038[label="",style="solid", color="black", weight=3]; 102.84/63.27 6988[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6988 -> 7039[label="",style="solid", color="black", weight=3]; 102.84/63.27 6989[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6989 -> 7040[label="",style="solid", color="black", weight=3]; 102.84/63.27 6990[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (Integer (Neg (Succ vuz900)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6990 -> 7041[label="",style="solid", color="black", weight=3]; 102.84/63.27 6991[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (abs (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];6991 -> 7042[label="",style="solid", color="black", weight=3]; 102.84/63.27 6992[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6992 -> 7043[label="",style="solid", color="black", weight=3]; 102.84/63.27 6993[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) (not False)) (not (compare (absReal1 (Integer (Neg Zero)) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];6993 -> 7044[label="",style="solid", color="black", weight=3]; 102.84/63.27 7807[label="vuz4590",fontsize=16,color="green",shape="box"];7808[label="vuz4580",fontsize=16,color="green",shape="box"];7809[label="signumReal1 (Pos (Succ vuz457)) True",fontsize=16,color="black",shape="box"];7809 -> 7836[label="",style="solid", color="black", weight=3]; 102.84/63.27 7810[label="signumReal1 (Pos (Succ vuz457)) False",fontsize=16,color="black",shape="triangle"];7810 -> 7837[label="",style="solid", color="black", weight=3]; 102.84/63.27 7811 -> 7810[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7811[label="signumReal1 (Pos (Succ vuz457)) False",fontsize=16,color="magenta"];7271[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];6994[label="primModNatS0 vuz15600 vuz15500 (primGEqNatS vuz15600 vuz15500)",fontsize=16,color="burlywood",shape="box"];8591[label="vuz15600/Succ vuz156000",fontsize=10,color="white",style="solid",shape="box"];6994 -> 8591[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8591 -> 7045[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8592[label="vuz15600/Zero",fontsize=10,color="white",style="solid",shape="box"];6994 -> 8592[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8592 -> 7046[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 6995[label="Zero",fontsize=16,color="green",shape="box"];7296[label="signumReal0 (Neg (Succ vuz900)) otherwise",fontsize=16,color="black",shape="box"];7296 -> 7326[label="",style="solid", color="black", weight=3]; 102.84/63.27 7834[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) vuz463 == GT)",fontsize=16,color="burlywood",shape="box"];8593[label="vuz463/Succ vuz4630",fontsize=10,color="white",style="solid",shape="box"];7834 -> 8593[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8593 -> 7843[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8594[label="vuz463/Zero",fontsize=10,color="white",style="solid",shape="box"];7834 -> 8594[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8594 -> 7844[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7835[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero vuz463 == GT)",fontsize=16,color="burlywood",shape="box"];8595[label="vuz463/Succ vuz4630",fontsize=10,color="white",style="solid",shape="box"];7835 -> 8595[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8595 -> 7845[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8596[label="vuz463/Zero",fontsize=10,color="white",style="solid",shape="box"];7835 -> 8596[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8596 -> 7846[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7401[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];6996[label="Succ Zero",fontsize=16,color="green",shape="box"];6997[label="vuz80",fontsize=16,color="green",shape="box"];6998[label="Succ Zero",fontsize=16,color="green",shape="box"];6999[label="vuz80",fontsize=16,color="green",shape="box"];7000[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (compare (Integer vuz269) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (compare (Integer vuz269) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7000 -> 7047[label="",style="solid", color="black", weight=3]; 102.84/63.27 7001[label="Succ Zero",fontsize=16,color="green",shape="box"];7002[label="vuz80",fontsize=16,color="green",shape="box"];7003[label="Succ Zero",fontsize=16,color="green",shape="box"];7004[label="vuz80",fontsize=16,color="green",shape="box"];7033[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos (Succ vuz196)))) (not (compare (absReal2 (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal2 (Integer (Pos (Succ vuz196)))) (not (compare (absReal2 (Integer (Pos (Succ vuz196)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7033 -> 7104[label="",style="solid", color="black", weight=3]; 102.84/63.27 7034[label="Integer (Pos vuz209) `quot` gcd0Gcd'2 (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7034 -> 7105[label="",style="solid", color="black", weight=3]; 102.84/63.27 7035[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal2 (Integer (Pos (Succ vuz204)))) (not (compare (absReal2 (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal2 (Integer (Pos (Succ vuz204)))) (not (compare (absReal2 (Integer (Pos (Succ vuz204)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7035 -> 7106[label="",style="solid", color="black", weight=3]; 102.84/63.27 7036[label="Integer (Neg vuz213) `quot` gcd0Gcd'2 (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7036 -> 7107[label="",style="solid", color="black", weight=3]; 102.84/63.27 7037[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7037 -> 7108[label="",style="solid", color="black", weight=3]; 102.84/63.27 7038[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Pos Zero)) True) (not (compare (absReal1 (Integer (Pos Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7038 -> 7109[label="",style="solid", color="black", weight=3]; 102.84/63.27 7039[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7039 -> 7110[label="",style="solid", color="black", weight=3]; 102.84/63.27 7040[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7040 -> 7111[label="",style="solid", color="black", weight=3]; 102.84/63.27 7041[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7041 -> 7112[label="",style="solid", color="black", weight=3]; 102.84/63.27 7042[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7042 -> 7113[label="",style="solid", color="black", weight=3]; 102.84/63.27 7043[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7043 -> 7114[label="",style="solid", color="black", weight=3]; 102.84/63.27 7044[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (absReal1 (Integer (Neg Zero)) True) (not (compare (absReal1 (Integer (Neg Zero)) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7044 -> 7115[label="",style="solid", color="black", weight=3]; 102.84/63.27 7836[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8597[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8597[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8597 -> 7847[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8598[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8598[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8598 -> 7848[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8599[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8599[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8599 -> 7849[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8600[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8600[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8600 -> 7850[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8601[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7836 -> 8601[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8601 -> 7851[label="",style="solid", color="blue", weight=3]; 102.84/63.27 7837[label="signumReal0 (Pos (Succ vuz457)) otherwise",fontsize=16,color="black",shape="box"];7837 -> 7852[label="",style="solid", color="black", weight=3]; 102.84/63.27 7045[label="primModNatS0 (Succ vuz156000) vuz15500 (primGEqNatS (Succ vuz156000) vuz15500)",fontsize=16,color="burlywood",shape="box"];8602[label="vuz15500/Succ vuz155000",fontsize=10,color="white",style="solid",shape="box"];7045 -> 8602[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8602 -> 7116[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8603[label="vuz15500/Zero",fontsize=10,color="white",style="solid",shape="box"];7045 -> 8603[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8603 -> 7117[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7046[label="primModNatS0 Zero vuz15500 (primGEqNatS Zero vuz15500)",fontsize=16,color="burlywood",shape="box"];8604[label="vuz15500/Succ vuz155000",fontsize=10,color="white",style="solid",shape="box"];7046 -> 8604[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8604 -> 7118[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8605[label="vuz15500/Zero",fontsize=10,color="white",style="solid",shape="box"];7046 -> 8605[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8605 -> 7119[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7326[label="signumReal0 (Neg (Succ vuz900)) True",fontsize=16,color="black",shape="box"];7326 -> 7357[label="",style="solid", color="black", weight=3]; 102.84/63.27 7843[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) (Succ vuz4630) == GT)",fontsize=16,color="black",shape="box"];7843 -> 7855[label="",style="solid", color="black", weight=3]; 102.84/63.27 7844[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat (Succ vuz4620) Zero == GT)",fontsize=16,color="black",shape="box"];7844 -> 7856[label="",style="solid", color="black", weight=3]; 102.84/63.27 7845[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero (Succ vuz4630) == GT)",fontsize=16,color="black",shape="box"];7845 -> 7857[label="",style="solid", color="black", weight=3]; 102.84/63.27 7846[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat Zero Zero == GT)",fontsize=16,color="black",shape="box"];7846 -> 7858[label="",style="solid", color="black", weight=3]; 102.84/63.27 7047 -> 7120[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7047[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7047 -> 7121[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7104[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (Integer (Pos (Succ vuz196)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7104 -> 7153[label="",style="solid", color="black", weight=3]; 102.84/63.27 7105[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (abs (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7105 -> 7154[label="",style="solid", color="black", weight=3]; 102.84/63.27 7106[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (Integer (Pos (Succ vuz204)) >= fromInt (Pos Zero))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7106 -> 7155[label="",style="solid", color="black", weight=3]; 102.84/63.27 7107[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (abs (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7107 -> 7156[label="",style="solid", color="black", weight=3]; 102.84/63.27 7108 -> 7120[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7108[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7108 -> 7122[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7108 -> 7123[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7108 -> 7124[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7108 -> 7125[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7109 -> 7120[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7109[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7109 -> 7126[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7109 -> 7127[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7109 -> 7128[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7109 -> 7129[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7110[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7110 -> 7157[label="",style="solid", color="black", weight=3]; 102.84/63.27 7111[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7111 -> 7158[label="",style="solid", color="black", weight=3]; 102.84/63.27 7112[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7112 -> 7159[label="",style="solid", color="black", weight=3]; 102.84/63.27 7113[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal2 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7113 -> 7160[label="",style="solid", color="black", weight=3]; 102.84/63.27 7114 -> 7120[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7114[label="Integer (Pos Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos Zero))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7114 -> 7130[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7114 -> 7131[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7114 -> 7132[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7114 -> 7133[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7115 -> 7120[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7115[label="Integer (Neg Zero) `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg Zero))) (absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7115 -> 7134[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7115 -> 7135[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7115 -> 7136[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7115 -> 7137[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7847[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7847 -> 7859[label="",style="solid", color="black", weight=3]; 102.84/63.27 7848[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7848 -> 7860[label="",style="solid", color="black", weight=3]; 102.84/63.27 7849[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7849 -> 7861[label="",style="solid", color="black", weight=3]; 102.84/63.27 7850[label="fromInt (Pos (Succ Zero))",fontsize=16,color="black",shape="triangle"];7850 -> 7862[label="",style="solid", color="black", weight=3]; 102.84/63.27 7851 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7851[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7851 -> 7863[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7852[label="signumReal0 (Pos (Succ vuz457)) True",fontsize=16,color="black",shape="box"];7852 -> 7864[label="",style="solid", color="black", weight=3]; 102.84/63.27 7116[label="primModNatS0 (Succ vuz156000) (Succ vuz155000) (primGEqNatS (Succ vuz156000) (Succ vuz155000))",fontsize=16,color="black",shape="box"];7116 -> 7161[label="",style="solid", color="black", weight=3]; 102.84/63.27 7117[label="primModNatS0 (Succ vuz156000) Zero (primGEqNatS (Succ vuz156000) Zero)",fontsize=16,color="black",shape="box"];7117 -> 7162[label="",style="solid", color="black", weight=3]; 102.84/63.27 7118[label="primModNatS0 Zero (Succ vuz155000) (primGEqNatS Zero (Succ vuz155000))",fontsize=16,color="black",shape="box"];7118 -> 7163[label="",style="solid", color="black", weight=3]; 102.84/63.27 7119[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];7119 -> 7164[label="",style="solid", color="black", weight=3]; 102.84/63.27 7357 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7357[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7357 -> 7403[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7855 -> 7812[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7855[label="signumReal1 (Neg (Succ vuz461)) (primCmpNat vuz4620 vuz4630 == GT)",fontsize=16,color="magenta"];7855 -> 7879[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7855 -> 7880[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7856[label="signumReal1 (Neg (Succ vuz461)) (GT == GT)",fontsize=16,color="black",shape="box"];7856 -> 7881[label="",style="solid", color="black", weight=3]; 102.84/63.27 7857[label="signumReal1 (Neg (Succ vuz461)) (LT == GT)",fontsize=16,color="black",shape="box"];7857 -> 7882[label="",style="solid", color="black", weight=3]; 102.84/63.27 7858[label="signumReal1 (Neg (Succ vuz461)) (EQ == GT)",fontsize=16,color="black",shape="box"];7858 -> 7883[label="",style="solid", color="black", weight=3]; 102.84/63.27 7121 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7121[label="absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7121 -> 7165[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7120[label="Integer vuz268 `quot` gcd0Gcd'1 vuz428 (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="triangle"];8606[label="vuz428/False",fontsize=10,color="white",style="solid",shape="box"];7120 -> 8606[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8606 -> 7166[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8607[label="vuz428/True",fontsize=10,color="white",style="solid",shape="box"];7120 -> 8607[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8607 -> 7167[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7153[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7153 -> 7192[label="",style="solid", color="black", weight=3]; 102.84/63.27 7154[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7154 -> 7193[label="",style="solid", color="black", weight=3]; 102.84/63.27 7155[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) /= LT)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7155 -> 7194[label="",style="solid", color="black", weight=3]; 102.84/63.27 7156[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7156 -> 7195[label="",style="solid", color="black", weight=3]; 102.84/63.27 7122[label="Pos Zero",fontsize=16,color="green",shape="box"];7123[label="Pos Zero",fontsize=16,color="green",shape="box"];7124[label="Pos Zero",fontsize=16,color="green",shape="box"];7125 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7125[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7125 -> 7168[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7126[label="Neg Zero",fontsize=16,color="green",shape="box"];7127[label="Pos Zero",fontsize=16,color="green",shape="box"];7128[label="Neg Zero",fontsize=16,color="green",shape="box"];7129 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7129[label="absReal1 (Integer (Pos Zero)) (not (compare (Integer (Pos Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7129 -> 7169[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7157[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7157 -> 7196[label="",style="solid", color="black", weight=3]; 102.84/63.27 7158[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7158 -> 7197[label="",style="solid", color="black", weight=3]; 102.84/63.27 7159[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7159 -> 7198[label="",style="solid", color="black", weight=3]; 102.84/63.27 7160[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7160 -> 7199[label="",style="solid", color="black", weight=3]; 102.84/63.27 7130[label="Pos Zero",fontsize=16,color="green",shape="box"];7131[label="Neg Zero",fontsize=16,color="green",shape="box"];7132[label="Pos Zero",fontsize=16,color="green",shape="box"];7133 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7133[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7133 -> 7170[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7134[label="Neg Zero",fontsize=16,color="green",shape="box"];7135[label="Neg Zero",fontsize=16,color="green",shape="box"];7136[label="Neg Zero",fontsize=16,color="green",shape="box"];7137 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7137[label="absReal1 (Integer (Neg Zero)) (not (compare (Integer (Neg Zero)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7137 -> 7171[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7859[label="intToRatio (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7859 -> 7884[label="",style="solid", color="black", weight=3]; 102.84/63.27 7860[label="primIntToDouble (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7860 -> 7885[label="",style="solid", color="black", weight=3]; 102.84/63.27 7861[label="primIntToFloat (Pos (Succ Zero))",fontsize=16,color="black",shape="box"];7861 -> 7886[label="",style="solid", color="black", weight=3]; 102.84/63.27 7862[label="Integer (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7863[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7864[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8608[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8608[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8608 -> 7887[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8609[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8609[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8609 -> 7888[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8610[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8610[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8610 -> 7889[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8611[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8611[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8611 -> 7890[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8612[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7864 -> 8612[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8612 -> 7891[label="",style="solid", color="blue", weight=3]; 102.84/63.27 7161 -> 8098[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7161[label="primModNatS0 (Succ vuz156000) (Succ vuz155000) (primGEqNatS vuz156000 vuz155000)",fontsize=16,color="magenta"];7161 -> 8099[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7161 -> 8100[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7161 -> 8101[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7161 -> 8102[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7162[label="primModNatS0 (Succ vuz156000) Zero True",fontsize=16,color="black",shape="box"];7162 -> 7202[label="",style="solid", color="black", weight=3]; 102.84/63.27 7163[label="primModNatS0 Zero (Succ vuz155000) False",fontsize=16,color="black",shape="box"];7163 -> 7203[label="",style="solid", color="black", weight=3]; 102.84/63.27 7164[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];7164 -> 7204[label="",style="solid", color="black", weight=3]; 102.84/63.27 7403[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7879[label="vuz4620",fontsize=16,color="green",shape="box"];7880[label="vuz4630",fontsize=16,color="green",shape="box"];7881[label="signumReal1 (Neg (Succ vuz461)) True",fontsize=16,color="black",shape="box"];7881 -> 7908[label="",style="solid", color="black", weight=3]; 102.84/63.27 7882[label="signumReal1 (Neg (Succ vuz461)) False",fontsize=16,color="black",shape="triangle"];7882 -> 7909[label="",style="solid", color="black", weight=3]; 102.84/63.27 7883 -> 7882[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7883[label="signumReal1 (Neg (Succ vuz461)) False",fontsize=16,color="magenta"];7165[label="vuz269",fontsize=16,color="green",shape="box"];7166[label="Integer vuz268 `quot` gcd0Gcd'1 False (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7166 -> 7205[label="",style="solid", color="black", weight=3]; 102.84/63.27 7167[label="Integer vuz268 `quot` gcd0Gcd'1 True (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7167 -> 7206[label="",style="solid", color="black", weight=3]; 102.84/63.27 7192[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7192 -> 7224[label="",style="solid", color="black", weight=3]; 102.84/63.27 7193[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal2 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7193 -> 7225[label="",style="solid", color="black", weight=3]; 102.84/63.27 7194[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];7194 -> 7226[label="",style="solid", color="black", weight=3]; 102.84/63.27 7195[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal2 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal2 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))))",fontsize=16,color="black",shape="box"];7195 -> 7227[label="",style="solid", color="black", weight=3]; 102.84/63.27 7168[label="Pos Zero",fontsize=16,color="green",shape="box"];7169[label="Pos Zero",fontsize=16,color="green",shape="box"];7196[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7196 -> 7228[label="",style="solid", color="black", weight=3]; 102.84/63.27 7197[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7197 -> 7229[label="",style="solid", color="black", weight=3]; 102.84/63.27 7198[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (primCmpInt (Neg (Succ vuz900)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7198 -> 7230[label="",style="solid", color="black", weight=3]; 102.84/63.27 7199[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7199 -> 7231[label="",style="solid", color="black", weight=3]; 102.84/63.27 7170[label="Neg Zero",fontsize=16,color="green",shape="box"];7171[label="Neg Zero",fontsize=16,color="green",shape="box"];7884[label="fromInt (Pos (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7884 -> 7910[label="",style="dashed", color="green", weight=3]; 102.84/63.27 7884 -> 7911[label="",style="dashed", color="green", weight=3]; 102.84/63.27 7885[label="Double (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7886[label="Float (Pos (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7887[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7887 -> 7912[label="",style="solid", color="black", weight=3]; 102.84/63.27 7888[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7888 -> 7913[label="",style="solid", color="black", weight=3]; 102.84/63.27 7889[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7889 -> 7914[label="",style="solid", color="black", weight=3]; 102.84/63.27 7890[label="fromInt (Neg (Succ Zero))",fontsize=16,color="black",shape="triangle"];7890 -> 7915[label="",style="solid", color="black", weight=3]; 102.84/63.27 7891 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7891[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7891 -> 7916[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8099[label="vuz155000",fontsize=16,color="green",shape="box"];8100[label="vuz156000",fontsize=16,color="green",shape="box"];8101[label="vuz155000",fontsize=16,color="green",shape="box"];8102[label="vuz156000",fontsize=16,color="green",shape="box"];8098[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS vuz490 vuz491)",fontsize=16,color="burlywood",shape="triangle"];8613[label="vuz490/Succ vuz4900",fontsize=10,color="white",style="solid",shape="box"];8098 -> 8613[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8613 -> 8139[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8614[label="vuz490/Zero",fontsize=10,color="white",style="solid",shape="box"];8098 -> 8614[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8614 -> 8140[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7202 -> 5923[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7202[label="primModNatS (primMinusNatS (Succ vuz156000) Zero) (Succ Zero)",fontsize=16,color="magenta"];7202 -> 7236[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7202 -> 7237[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7203[label="Succ Zero",fontsize=16,color="green",shape="box"];7204 -> 5923[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7204[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];7204 -> 7238[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7204 -> 7239[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7908[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8615[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8615[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8615 -> 7930[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8616[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8616[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8616 -> 7931[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8617[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8617[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8617 -> 7932[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8618[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8618[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8618 -> 7933[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8619[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7908 -> 8619[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8619 -> 7934[label="",style="solid", color="blue", weight=3]; 102.84/63.27 7909[label="signumReal0 (Neg (Succ vuz461)) otherwise",fontsize=16,color="black",shape="box"];7909 -> 7935[label="",style="solid", color="black", weight=3]; 102.84/63.27 7205[label="Integer vuz268 `quot` gcd0Gcd'0 (abs (Integer vuz298)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7205 -> 7240[label="",style="solid", color="black", weight=3]; 102.84/63.27 7206[label="Integer vuz268 `quot` abs (Integer vuz298)",fontsize=16,color="black",shape="box"];7206 -> 7241[label="",style="solid", color="black", weight=3]; 102.84/63.27 7224[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7224 -> 7278[label="",style="solid", color="black", weight=3]; 102.84/63.27 7225[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7225 -> 7279[label="",style="solid", color="black", weight=3]; 102.84/63.27 7226[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (Integer (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7226 -> 7280[label="",style="solid", color="black", weight=3]; 102.84/63.27 7227[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];7227 -> 7281[label="",style="solid", color="black", weight=3]; 102.84/63.27 7228[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7228 -> 7282[label="",style="solid", color="black", weight=3]; 102.84/63.27 7229 -> 7110[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7229[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7230[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (LT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7230 -> 7283[label="",style="solid", color="black", weight=3]; 102.84/63.27 7231 -> 7112[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7231[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not (compare (Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7910[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8620[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];7910 -> 8620[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8620 -> 7936[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8621[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7910 -> 8621[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8621 -> 7937[label="",style="solid", color="blue", weight=3]; 102.84/63.27 7911[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8622[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7911 -> 8622[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8622 -> 7938[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8623[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7911 -> 8623[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8623 -> 7939[label="",style="solid", color="blue", weight=3]; 102.84/63.27 7912[label="intToRatio (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7912 -> 7940[label="",style="solid", color="black", weight=3]; 102.84/63.27 7913[label="primIntToDouble (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7913 -> 7941[label="",style="solid", color="black", weight=3]; 102.84/63.27 7914[label="primIntToFloat (Neg (Succ Zero))",fontsize=16,color="black",shape="box"];7914 -> 7942[label="",style="solid", color="black", weight=3]; 102.84/63.27 7915[label="Integer (Neg (Succ Zero))",fontsize=16,color="green",shape="box"];7916[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];8139[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) vuz491)",fontsize=16,color="burlywood",shape="box"];8624[label="vuz491/Succ vuz4910",fontsize=10,color="white",style="solid",shape="box"];8139 -> 8624[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8624 -> 8145[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8625[label="vuz491/Zero",fontsize=10,color="white",style="solid",shape="box"];8139 -> 8625[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8625 -> 8146[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8140[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero vuz491)",fontsize=16,color="burlywood",shape="box"];8626[label="vuz491/Succ vuz4910",fontsize=10,color="white",style="solid",shape="box"];8140 -> 8626[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8626 -> 8147[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8627[label="vuz491/Zero",fontsize=10,color="white",style="solid",shape="box"];8140 -> 8627[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8627 -> 8148[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7236[label="Zero",fontsize=16,color="green",shape="box"];7237 -> 5960[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7237[label="primMinusNatS (Succ vuz156000) Zero",fontsize=16,color="magenta"];7237 -> 7288[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7238[label="Zero",fontsize=16,color="green",shape="box"];7239 -> 5962[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7239[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];7930 -> 7847[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7930[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7931 -> 7848[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7931[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7932 -> 7849[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7932[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7933 -> 7850[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7933[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7934 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7934[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7934 -> 7949[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7935[label="signumReal0 (Neg (Succ vuz461)) True",fontsize=16,color="black",shape="box"];7935 -> 7950[label="",style="solid", color="black", weight=3]; 102.84/63.27 7240[label="Integer vuz268 `quot` gcd0Gcd' (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7240 -> 7289[label="",style="solid", color="black", weight=3]; 102.84/63.27 7241[label="Integer vuz268 `quot` absReal (Integer vuz298)",fontsize=16,color="black",shape="box"];7241 -> 7290[label="",style="solid", color="black", weight=3]; 102.84/63.27 7278[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpInt (Pos (Succ vuz196)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7278 -> 7309[label="",style="solid", color="black", weight=3]; 102.84/63.27 7279[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7279 -> 7310[label="",style="solid", color="black", weight=3]; 102.84/63.27 7280[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpInt (Pos (Succ vuz204)) (Pos Zero) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7280 -> 7311[label="",style="solid", color="black", weight=3]; 102.84/63.27 7281[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];7281 -> 7312[label="",style="solid", color="black", weight=3]; 102.84/63.27 7282[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7282 -> 7313[label="",style="solid", color="black", weight=3]; 102.84/63.27 7283[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) (not True)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7283 -> 7314[label="",style="solid", color="black", weight=3]; 102.84/63.27 7936 -> 7850[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7936[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7937 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7937[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7937 -> 7951[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7938 -> 7850[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7938[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7939 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7939[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7939 -> 7952[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7940[label="fromInt (Neg (Succ Zero)) :% fromInt (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7940 -> 7953[label="",style="dashed", color="green", weight=3]; 102.84/63.27 7940 -> 7954[label="",style="dashed", color="green", weight=3]; 102.84/63.27 7941[label="Double (Neg (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];7942[label="Float (Neg (Succ Zero)) (Pos (Succ Zero))",fontsize=16,color="green",shape="box"];8145[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) (Succ vuz4910))",fontsize=16,color="black",shape="box"];8145 -> 8153[label="",style="solid", color="black", weight=3]; 102.84/63.27 8146[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS (Succ vuz4900) Zero)",fontsize=16,color="black",shape="box"];8146 -> 8154[label="",style="solid", color="black", weight=3]; 102.84/63.27 8147[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero (Succ vuz4910))",fontsize=16,color="black",shape="box"];8147 -> 8155[label="",style="solid", color="black", weight=3]; 102.84/63.27 8148[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];8148 -> 8156[label="",style="solid", color="black", weight=3]; 102.84/63.27 7288[label="vuz156000",fontsize=16,color="green",shape="box"];7949[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7950[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8628[label="fromInt :: -> Int (Ratio a)",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8628[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8628 -> 7958[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8629[label="fromInt :: -> Int Double",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8629[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8629 -> 7959[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8630[label="fromInt :: -> Int Float",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8630[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8630 -> 7960[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8631[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8631[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8631 -> 7961[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8632[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7950 -> 8632[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8632 -> 7962[label="",style="solid", color="blue", weight=3]; 102.84/63.27 7289[label="Integer vuz268 `quot` gcd0Gcd'2 (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7289 -> 7320[label="",style="solid", color="black", weight=3]; 102.84/63.27 7290[label="Integer vuz268 `quot` absReal2 (Integer vuz298)",fontsize=16,color="black",shape="box"];7290 -> 7321[label="",style="solid", color="black", weight=3]; 102.84/63.27 7309[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (primCmpNat (Succ vuz196) Zero == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7309 -> 7418[label="",style="solid", color="black", weight=3]; 102.84/63.27 7310 -> 7192[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7310[label="Integer (Pos vuz209) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz210))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7310 -> 7419[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7310 -> 7420[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7311[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (primCmpNat (Succ vuz204) Zero == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7311 -> 7421[label="",style="solid", color="black", weight=3]; 102.84/63.27 7312 -> 7194[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7312[label="Integer (Neg vuz213) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz214))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7312 -> 7422[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7312 -> 7423[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7313[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7313 -> 7424[label="",style="solid", color="black", weight=3]; 102.84/63.27 7314[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal1 (Integer (Neg (Succ vuz900))) False) (not (compare (absReal1 (Integer (Neg (Succ vuz900))) False) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7314 -> 7425[label="",style="solid", color="black", weight=3]; 102.84/63.27 7951[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7952[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];7953[label="fromInt (Neg (Succ Zero))",fontsize=16,color="blue",shape="box"];8633[label="fromInt :: Int -> Integer",fontsize=10,color="white",style="solid",shape="box"];7953 -> 8633[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8633 -> 7963[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8634[label="fromInt :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];7953 -> 8634[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8634 -> 7964[label="",style="solid", color="blue", weight=3]; 102.84/63.27 7954[label="fromInt (Pos (Succ Zero))",fontsize=16,color="blue",shape="box"];8635[label="fromInt :: -> Int Integer",fontsize=10,color="white",style="solid",shape="box"];7954 -> 8635[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8635 -> 7965[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8636[label="fromInt :: -> Int Int",fontsize=10,color="white",style="solid",shape="box"];7954 -> 8636[label="",style="solid", color="blue", weight=9]; 102.84/63.27 8636 -> 7966[label="",style="solid", color="blue", weight=3]; 102.84/63.27 8153 -> 8098[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8153[label="primModNatS0 (Succ vuz488) (Succ vuz489) (primGEqNatS vuz4900 vuz4910)",fontsize=16,color="magenta"];8153 -> 8161[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8153 -> 8162[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8154[label="primModNatS0 (Succ vuz488) (Succ vuz489) True",fontsize=16,color="black",shape="triangle"];8154 -> 8163[label="",style="solid", color="black", weight=3]; 102.84/63.27 8155[label="primModNatS0 (Succ vuz488) (Succ vuz489) False",fontsize=16,color="black",shape="box"];8155 -> 8164[label="",style="solid", color="black", weight=3]; 102.84/63.27 8156 -> 8154[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8156[label="primModNatS0 (Succ vuz488) (Succ vuz489) True",fontsize=16,color="magenta"];7958 -> 7887[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7958[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7959 -> 7888[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7959[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7960 -> 7889[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7960[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7961 -> 7890[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7961[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7962 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7962[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7962 -> 7982[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7320[label="Integer vuz268 `quot` gcd0Gcd'1 (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (abs (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7320 -> 7434[label="",style="solid", color="black", weight=3]; 102.84/63.27 7321[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];7321 -> 7435[label="",style="solid", color="black", weight=3]; 102.84/63.27 7418[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7418 -> 7452[label="",style="solid", color="black", weight=3]; 102.84/63.27 7419[label="vuz210",fontsize=16,color="green",shape="box"];7420[label="vuz209",fontsize=16,color="green",shape="box"];7421[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not (GT == LT))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7421 -> 7453[label="",style="solid", color="black", weight=3]; 102.84/63.27 7422[label="vuz213",fontsize=16,color="green",shape="box"];7423[label="vuz214",fontsize=16,color="green",shape="box"];7424[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7424 -> 7454[label="",style="solid", color="black", weight=3]; 102.84/63.27 7425[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) otherwise) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7425 -> 7455[label="",style="solid", color="black", weight=3]; 102.84/63.27 7963 -> 7890[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7963[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7964 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7964[label="fromInt (Neg (Succ Zero))",fontsize=16,color="magenta"];7964 -> 7983[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7965 -> 7850[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7965[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7966 -> 2609[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7966[label="fromInt (Pos (Succ Zero))",fontsize=16,color="magenta"];7966 -> 7984[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8161[label="vuz4900",fontsize=16,color="green",shape="box"];8162[label="vuz4910",fontsize=16,color="green",shape="box"];8163 -> 5923[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8163[label="primModNatS (primMinusNatS (Succ vuz488) (Succ vuz489)) (Succ (Succ vuz489))",fontsize=16,color="magenta"];8163 -> 8169[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8163 -> 8170[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8164[label="Succ (Succ vuz488)",fontsize=16,color="green",shape="box"];7982[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7434[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7434 -> 7462[label="",style="solid", color="black", weight=3]; 102.84/63.27 7435[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];7435 -> 7463[label="",style="solid", color="black", weight=3]; 102.84/63.27 7452[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7452 -> 7527[label="",style="solid", color="black", weight=3]; 102.84/63.27 7453[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) (not False)) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7453 -> 7528[label="",style="solid", color="black", weight=3]; 102.84/63.27 7454[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7454 -> 7529[label="",style="solid", color="black", weight=3]; 102.84/63.27 7455[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (absReal0 (Integer (Neg (Succ vuz900))) True) (not (compare (absReal0 (Integer (Neg (Succ vuz900))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7455 -> 7530[label="",style="solid", color="black", weight=3]; 102.84/63.27 7983[label="Neg (Succ Zero)",fontsize=16,color="green",shape="box"];7984[label="Pos (Succ Zero)",fontsize=16,color="green",shape="box"];8169[label="Succ vuz489",fontsize=16,color="green",shape="box"];8170 -> 7692[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8170[label="primMinusNatS (Succ vuz488) (Succ vuz489)",fontsize=16,color="magenta"];8170 -> 8174[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8170 -> 8175[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7462[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal2 (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal2 (Integer vuz298) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7462 -> 7537[label="",style="solid", color="black", weight=3]; 102.84/63.27 7463[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7463 -> 7538[label="",style="solid", color="black", weight=3]; 102.84/63.27 7527[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (absReal1 (Integer (Pos (Succ vuz196))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz196))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7527 -> 7554[label="",style="solid", color="black", weight=3]; 102.84/63.27 7528[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) True) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (absReal1 (Integer (Pos (Succ vuz204))) True) (not (compare (absReal1 (Integer (Pos (Succ vuz204))) True) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7528 -> 7555[label="",style="solid", color="black", weight=3]; 102.84/63.27 7529[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7529 -> 7556[label="",style="solid", color="black", weight=3]; 102.84/63.27 7530[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (`negate` Integer (Neg (Succ vuz900))) (not (compare (`negate` Integer (Neg (Succ vuz900))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7530 -> 7557[label="",style="solid", color="black", weight=3]; 102.84/63.27 8174[label="Succ vuz488",fontsize=16,color="green",shape="box"];8175[label="Succ vuz489",fontsize=16,color="green",shape="box"];7537[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (Integer vuz298 >= fromInt (Pos Zero)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7537 -> 7566[label="",style="solid", color="black", weight=3]; 102.84/63.27 7538[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];7538 -> 7567[label="",style="solid", color="black", weight=3]; 102.84/63.27 7554 -> 7120[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7554[label="Integer (Pos vuz207) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz208))) (absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7554 -> 7583[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7554 -> 7584[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7554 -> 7585[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7554 -> 7586[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7555 -> 7120[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7555[label="Integer (Neg vuz211) `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz212))) (absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7555 -> 7587[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7555 -> 7588[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7555 -> 7589[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7555 -> 7590[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7556 -> 7120[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7556[label="Integer (Neg vuz216) `quot` gcd0Gcd'1 (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Neg vuz217))) (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7556 -> 7591[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7556 -> 7592[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7556 -> 7593[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7556 -> 7594[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7557 -> 7120[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7557[label="Integer (Pos vuz226) `quot` gcd0Gcd'1 (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer (Pos vuz227))) (absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7557 -> 7595[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7557 -> 7596[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7557 -> 7597[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7557 -> 7598[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7566[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (compare (Integer vuz298) (fromInt (Pos Zero)) /= LT) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7566 -> 7605[label="",style="solid", color="black", weight=3]; 102.84/63.27 7567[label="Integer vuz268 `quot` absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8637[label="vuz298/Pos vuz2980",fontsize=10,color="white",style="solid",shape="box"];7567 -> 8637[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8637 -> 7606[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8638[label="vuz298/Neg vuz2980",fontsize=10,color="white",style="solid",shape="box"];7567 -> 8638[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8638 -> 7607[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7583[label="Pos vuz208",fontsize=16,color="green",shape="box"];7584[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];7585[label="Pos vuz207",fontsize=16,color="green",shape="box"];7586 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7586[label="absReal1 (Integer (Pos (Succ vuz196))) (not (compare (Integer (Pos (Succ vuz196))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7586 -> 7623[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7587[label="Neg vuz212",fontsize=16,color="green",shape="box"];7588[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];7589[label="Neg vuz211",fontsize=16,color="green",shape="box"];7590 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7590[label="absReal1 (Integer (Pos (Succ vuz204))) (not (compare (Integer (Pos (Succ vuz204))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7590 -> 7624[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7591[label="Neg vuz217",fontsize=16,color="green",shape="box"];7592 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7592[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7592 -> 7625[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7593[label="Neg vuz216",fontsize=16,color="green",shape="box"];7594 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7594[label="absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7594 -> 7626[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7595[label="Pos vuz227",fontsize=16,color="green",shape="box"];7596 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7596[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7596 -> 7627[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7597[label="Pos vuz226",fontsize=16,color="green",shape="box"];7598 -> 47[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7598[label="absReal1 (Integer (primNegInt (Neg (Succ vuz900)))) (not (compare (Integer (primNegInt (Neg (Succ vuz900)))) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];7598 -> 7628[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7605[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (fromInt (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7605 -> 7635[label="",style="solid", color="black", weight=3]; 102.84/63.27 7606[label="Integer vuz268 `quot` absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8639[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7606 -> 8639[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8639 -> 7636[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8640[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7606 -> 8640[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8640 -> 7637[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7607[label="Integer vuz268 `quot` absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];8641[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7607 -> 8641[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8641 -> 7638[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8642[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7607 -> 8642[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8642 -> 7639[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7623[label="Pos (Succ vuz196)",fontsize=16,color="green",shape="box"];7624[label="Pos (Succ vuz204)",fontsize=16,color="green",shape="box"];7625[label="vuz900",fontsize=16,color="green",shape="box"];7626 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7626[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7626 -> 7652[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7627[label="vuz900",fontsize=16,color="green",shape="box"];7628 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7628[label="primNegInt (Neg (Succ vuz900))",fontsize=16,color="magenta"];7628 -> 7653[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7635[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (compare (Integer vuz298) (Integer (Pos Zero)) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7635 -> 7662[label="",style="solid", color="black", weight=3]; 102.84/63.27 7636[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7636 -> 7663[label="",style="solid", color="black", weight=3]; 102.84/63.27 7637[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7637 -> 7664[label="",style="solid", color="black", weight=3]; 102.84/63.27 7638[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7638 -> 7665[label="",style="solid", color="black", weight=3]; 102.84/63.27 7639[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];7639 -> 7666[label="",style="solid", color="black", weight=3]; 102.84/63.27 7652[label="vuz900",fontsize=16,color="green",shape="box"];7653[label="vuz900",fontsize=16,color="green",shape="box"];7662[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer vuz298) (not (primCmpInt vuz298 (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8643[label="vuz298/Pos vuz2980",fontsize=10,color="white",style="solid",shape="box"];7662 -> 8643[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8643 -> 7686[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8644[label="vuz298/Neg vuz2980",fontsize=10,color="white",style="solid",shape="box"];7662 -> 8644[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8644 -> 7687[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7663[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT))",fontsize=16,color="black",shape="box"];7663 -> 7688[label="",style="solid", color="black", weight=3]; 102.84/63.27 7664[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];7664 -> 7689[label="",style="solid", color="black", weight=3]; 102.84/63.27 7665[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT))",fontsize=16,color="black",shape="box"];7665 -> 7690[label="",style="solid", color="black", weight=3]; 102.84/63.27 7666[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];7666 -> 7691[label="",style="solid", color="black", weight=3]; 102.84/63.27 7686[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos vuz2980)) (not (primCmpInt (Pos vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8645[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7686 -> 8645[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8645 -> 7738[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8646[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7686 -> 8646[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8646 -> 7739[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7687[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg vuz2980)) (not (primCmpInt (Neg vuz2980) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];8647[label="vuz2980/Succ vuz29800",fontsize=10,color="white",style="solid",shape="box"];7687 -> 8647[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8647 -> 7740[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8648[label="vuz2980/Zero",fontsize=10,color="white",style="solid",shape="box"];7687 -> 8648[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8648 -> 7741[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7688[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT))",fontsize=16,color="black",shape="box"];7688 -> 7742[label="",style="solid", color="black", weight=3]; 102.84/63.27 7689[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];7689 -> 7743[label="",style="solid", color="black", weight=3]; 102.84/63.27 7690[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) (not True)",fontsize=16,color="black",shape="box"];7690 -> 7744[label="",style="solid", color="black", weight=3]; 102.84/63.27 7691[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];7691 -> 7745[label="",style="solid", color="black", weight=3]; 102.84/63.27 7738[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpInt (Pos (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7738 -> 7768[label="",style="solid", color="black", weight=3]; 102.84/63.27 7739[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7739 -> 7769[label="",style="solid", color="black", weight=3]; 102.84/63.27 7740[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not (primCmpInt (Neg (Succ vuz29800)) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7740 -> 7770[label="",style="solid", color="black", weight=3]; 102.84/63.27 7741[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7741 -> 7771[label="",style="solid", color="black", weight=3]; 102.84/63.27 7742[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) (not False)",fontsize=16,color="black",shape="box"];7742 -> 7772[label="",style="solid", color="black", weight=3]; 102.84/63.27 7743[label="Integer vuz268 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];7743 -> 7773[label="",style="solid", color="black", weight=3]; 102.84/63.27 7744[label="Integer vuz268 `quot` absReal1 (Integer (Neg (Succ vuz29800))) False",fontsize=16,color="black",shape="box"];7744 -> 7774[label="",style="solid", color="black", weight=3]; 102.84/63.27 7745[label="Integer vuz268 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];7745 -> 7775[label="",style="solid", color="black", weight=3]; 102.84/63.27 7768[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (primCmpNat (Succ vuz29800) Zero == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7768 -> 7797[label="",style="solid", color="black", weight=3]; 102.84/63.27 7769[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7769 -> 7798[label="",style="solid", color="black", weight=3]; 102.84/63.27 7770[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not (LT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7770 -> 7799[label="",style="solid", color="black", weight=3]; 102.84/63.27 7771[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7771 -> 7800[label="",style="solid", color="black", weight=3]; 102.84/63.27 7772[label="Integer vuz268 `quot` absReal1 (Integer (Pos (Succ vuz29800))) True",fontsize=16,color="black",shape="box"];7772 -> 7801[label="",style="solid", color="black", weight=3]; 102.84/63.27 7773 -> 7925[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7773[label="Integer vuz268 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];7773 -> 7926[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7774[label="Integer vuz268 `quot` absReal0 (Integer (Neg (Succ vuz29800))) otherwise",fontsize=16,color="black",shape="box"];7774 -> 7803[label="",style="solid", color="black", weight=3]; 102.84/63.27 7775 -> 7925[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7775[label="Integer vuz268 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];7775 -> 7927[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7797[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not (GT == LT)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7797 -> 7865[label="",style="solid", color="black", weight=3]; 102.84/63.27 7798[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7798 -> 7866[label="",style="solid", color="black", weight=3]; 102.84/63.27 7799[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) (not True) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) (not True) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7799 -> 7867[label="",style="solid", color="black", weight=3]; 102.84/63.27 7800[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7800 -> 7868[label="",style="solid", color="black", weight=3]; 102.84/63.27 7801 -> 7925[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7801[label="Integer vuz268 `quot` Integer (Pos (Succ vuz29800))",fontsize=16,color="magenta"];7801 -> 7928[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7926[label="Pos Zero",fontsize=16,color="green",shape="box"];7925[label="Integer vuz268 `quot` Integer vuz468",fontsize=16,color="black",shape="triangle"];7925 -> 7943[label="",style="solid", color="black", weight=3]; 102.84/63.27 7803[label="Integer vuz268 `quot` absReal0 (Integer (Neg (Succ vuz29800))) True",fontsize=16,color="black",shape="box"];7803 -> 7871[label="",style="solid", color="black", weight=3]; 102.84/63.27 7927[label="Neg Zero",fontsize=16,color="green",shape="box"];7865[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) (not False) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7865 -> 7892[label="",style="solid", color="black", weight=3]; 102.84/63.27 7866[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7866 -> 7893[label="",style="solid", color="black", weight=3]; 102.84/63.27 7867[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz29800))) False `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg (Succ vuz29800))) False `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7867 -> 7894[label="",style="solid", color="black", weight=3]; 102.84/63.27 7868[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Neg Zero)) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7868 -> 7895[label="",style="solid", color="black", weight=3]; 102.84/63.27 7928[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];7943[label="Integer (primQuotInt vuz268 vuz468)",fontsize=16,color="green",shape="box"];7943 -> 7955[label="",style="dashed", color="green", weight=3]; 102.84/63.27 7871[label="Integer vuz268 `quot` (`negate` Integer (Neg (Succ vuz29800)))",fontsize=16,color="black",shape="box"];7871 -> 7899[label="",style="solid", color="black", weight=3]; 102.84/63.27 7892[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal1 (Integer (Pos (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7892 -> 7917[label="",style="solid", color="black", weight=3]; 102.84/63.27 7893 -> 8015[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7893[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Pos Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7893 -> 8016[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7893 -> 8017[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7894[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz29800))) otherwise `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal0 (Integer (Neg (Succ vuz29800))) otherwise `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7894 -> 7919[label="",style="solid", color="black", weight=3]; 102.84/63.27 7895 -> 8015[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7895[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Neg Zero) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7895 -> 8018[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7895 -> 8019[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7955[label="primQuotInt vuz268 vuz468",fontsize=16,color="burlywood",shape="box"];8649[label="vuz268/Pos vuz2680",fontsize=10,color="white",style="solid",shape="box"];7955 -> 8649[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8649 -> 7967[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8650[label="vuz268/Neg vuz2680",fontsize=10,color="white",style="solid",shape="box"];7955 -> 8650[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8650 -> 7968[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7899 -> 7925[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7899[label="Integer vuz268 `quot` Integer (primNegInt (Neg (Succ vuz29800)))",fontsize=16,color="magenta"];7899 -> 7929[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7917 -> 8015[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7917[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz29800)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (Pos (Succ vuz29800)) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7917 -> 8020[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7917 -> 8021[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8016[label="Pos Zero",fontsize=16,color="green",shape="box"];8017[label="Pos Zero",fontsize=16,color="green",shape="box"];8015[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="triangle"];8015 -> 8024[label="",style="solid", color="black", weight=3]; 102.84/63.27 7919[label="Integer vuz268 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (absReal0 (Integer (Neg (Succ vuz29800))) True `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7919 -> 7973[label="",style="solid", color="black", weight=3]; 102.84/63.27 8018[label="Neg Zero",fontsize=16,color="green",shape="box"];8019[label="Neg Zero",fontsize=16,color="green",shape="box"];7967[label="primQuotInt (Pos vuz2680) vuz468",fontsize=16,color="burlywood",shape="box"];8651[label="vuz468/Pos vuz4680",fontsize=10,color="white",style="solid",shape="box"];7967 -> 8651[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8651 -> 7985[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8652[label="vuz468/Neg vuz4680",fontsize=10,color="white",style="solid",shape="box"];7967 -> 8652[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8652 -> 7986[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7968[label="primQuotInt (Neg vuz2680) vuz468",fontsize=16,color="burlywood",shape="box"];8653[label="vuz468/Pos vuz4680",fontsize=10,color="white",style="solid",shape="box"];7968 -> 8653[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8653 -> 7987[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8654[label="vuz468/Neg vuz4680",fontsize=10,color="white",style="solid",shape="box"];7968 -> 8654[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8654 -> 7988[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7929 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7929[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];7929 -> 7975[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8020[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];8021[label="Pos (Succ vuz29800)",fontsize=16,color="green",shape="box"];8024[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];8024 -> 8038[label="",style="solid", color="black", weight=3]; 102.84/63.27 7973[label="Integer vuz268 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) ((`negate` Integer (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];7973 -> 7992[label="",style="solid", color="black", weight=3]; 102.84/63.27 7985[label="primQuotInt (Pos vuz2680) (Pos vuz4680)",fontsize=16,color="burlywood",shape="box"];8655[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7985 -> 8655[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8655 -> 8001[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8656[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7985 -> 8656[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8656 -> 8002[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7986[label="primQuotInt (Pos vuz2680) (Neg vuz4680)",fontsize=16,color="burlywood",shape="box"];8657[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7986 -> 8657[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8657 -> 8003[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8658[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7986 -> 8658[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8658 -> 8004[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7987[label="primQuotInt (Neg vuz2680) (Pos vuz4680)",fontsize=16,color="burlywood",shape="box"];8659[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7987 -> 8659[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8659 -> 8005[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8660[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7987 -> 8660[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8660 -> 8006[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7988[label="primQuotInt (Neg vuz2680) (Neg vuz4680)",fontsize=16,color="burlywood",shape="box"];8661[label="vuz4680/Succ vuz46800",fontsize=10,color="white",style="solid",shape="box"];7988 -> 8661[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8661 -> 8007[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8662[label="vuz4680/Zero",fontsize=10,color="white",style="solid",shape="box"];7988 -> 8662[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8662 -> 8008[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7975[label="vuz29800",fontsize=16,color="green",shape="box"];8038[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer vuz269) (not (primCmpInt vuz269 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8663[label="vuz269/Pos vuz2690",fontsize=10,color="white",style="solid",shape="box"];8038 -> 8663[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8663 -> 8041[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8664[label="vuz269/Neg vuz2690",fontsize=10,color="white",style="solid",shape="box"];8038 -> 8664[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8664 -> 8042[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 7992 -> 8015[label="",style="dashed", color="red", weight=0]; 102.84/63.27 7992[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT))) (Integer (primNegInt (Neg (Succ vuz29800))) `rem` absReal1 (Integer vuz269) (not (compare (Integer vuz269) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="magenta"];7992 -> 8022[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 7992 -> 8023[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8001[label="primQuotInt (Pos vuz2680) (Pos (Succ vuz46800))",fontsize=16,color="black",shape="box"];8001 -> 8025[label="",style="solid", color="black", weight=3]; 102.84/63.27 8002[label="primQuotInt (Pos vuz2680) (Pos Zero)",fontsize=16,color="black",shape="box"];8002 -> 8026[label="",style="solid", color="black", weight=3]; 102.84/63.27 8003[label="primQuotInt (Pos vuz2680) (Neg (Succ vuz46800))",fontsize=16,color="black",shape="box"];8003 -> 8027[label="",style="solid", color="black", weight=3]; 102.84/63.27 8004[label="primQuotInt (Pos vuz2680) (Neg Zero)",fontsize=16,color="black",shape="box"];8004 -> 8028[label="",style="solid", color="black", weight=3]; 102.84/63.27 8005[label="primQuotInt (Neg vuz2680) (Pos (Succ vuz46800))",fontsize=16,color="black",shape="box"];8005 -> 8029[label="",style="solid", color="black", weight=3]; 102.84/63.27 8006[label="primQuotInt (Neg vuz2680) (Pos Zero)",fontsize=16,color="black",shape="box"];8006 -> 8030[label="",style="solid", color="black", weight=3]; 102.84/63.27 8007[label="primQuotInt (Neg vuz2680) (Neg (Succ vuz46800))",fontsize=16,color="black",shape="box"];8007 -> 8031[label="",style="solid", color="black", weight=3]; 102.84/63.27 8008[label="primQuotInt (Neg vuz2680) (Neg Zero)",fontsize=16,color="black",shape="box"];8008 -> 8032[label="",style="solid", color="black", weight=3]; 102.84/63.27 8041[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos vuz2690)) (not (primCmpInt (Pos vuz2690) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8665[label="vuz2690/Succ vuz26900",fontsize=10,color="white",style="solid",shape="box"];8041 -> 8665[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8665 -> 8057[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8666[label="vuz2690/Zero",fontsize=10,color="white",style="solid",shape="box"];8041 -> 8666[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8666 -> 8058[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8042[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg vuz2690)) (not (primCmpInt (Neg vuz2690) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];8667[label="vuz2690/Succ vuz26900",fontsize=10,color="white",style="solid",shape="box"];8042 -> 8667[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8667 -> 8059[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8668[label="vuz2690/Zero",fontsize=10,color="white",style="solid",shape="box"];8042 -> 8668[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8668 -> 8060[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8022 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8022[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];8022 -> 8045[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8023 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8023[label="primNegInt (Neg (Succ vuz29800))",fontsize=16,color="magenta"];8023 -> 8046[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8025[label="Pos (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8025 -> 8047[label="",style="dashed", color="green", weight=3]; 102.84/63.27 8026 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8026[label="error []",fontsize=16,color="magenta"];8027[label="Neg (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8027 -> 8048[label="",style="dashed", color="green", weight=3]; 102.84/63.27 8028 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8028[label="error []",fontsize=16,color="magenta"];8029[label="Neg (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8029 -> 8049[label="",style="dashed", color="green", weight=3]; 102.84/63.27 8030 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8030[label="error []",fontsize=16,color="magenta"];8031[label="Pos (primDivNatS vuz2680 (Succ vuz46800))",fontsize=16,color="green",shape="box"];8031 -> 8050[label="",style="dashed", color="green", weight=3]; 102.84/63.27 8032 -> 3082[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8032[label="error []",fontsize=16,color="magenta"];8057[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpInt (Pos (Succ vuz26900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8057 -> 8075[label="",style="solid", color="black", weight=3]; 102.84/63.27 8058[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8058 -> 8076[label="",style="solid", color="black", weight=3]; 102.84/63.27 8059[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (primCmpInt (Neg (Succ vuz26900)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8059 -> 8077[label="",style="solid", color="black", weight=3]; 102.84/63.27 8060[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];8060 -> 8078[label="",style="solid", color="black", weight=3]; 102.84/63.27 8045[label="vuz29800",fontsize=16,color="green",shape="box"];8046[label="vuz29800",fontsize=16,color="green",shape="box"];8047 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8047[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8047 -> 8061[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8047 -> 8062[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8048 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8048[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8048 -> 8063[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8048 -> 8064[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8049 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8049[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8049 -> 8065[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8049 -> 8066[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8050 -> 5661[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8050[label="primDivNatS vuz2680 (Succ vuz46800)",fontsize=16,color="magenta"];8050 -> 8067[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8050 -> 8068[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8075[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (primCmpNat (Succ vuz26900) Zero == LT)))",fontsize=16,color="black",shape="box"];8075 -> 8083[label="",style="solid", color="black", weight=3]; 102.84/63.27 8076[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];8076 -> 8084[label="",style="solid", color="black", weight=3]; 102.84/63.27 8077[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];8077 -> 8085[label="",style="solid", color="black", weight=3]; 102.84/63.27 8078[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT))) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];8078 -> 8086[label="",style="solid", color="black", weight=3]; 102.84/63.27 8061[label="vuz46800",fontsize=16,color="green",shape="box"];8062[label="vuz2680",fontsize=16,color="green",shape="box"];8063[label="vuz46800",fontsize=16,color="green",shape="box"];8064[label="vuz2680",fontsize=16,color="green",shape="box"];8065[label="vuz46800",fontsize=16,color="green",shape="box"];8066[label="vuz2680",fontsize=16,color="green",shape="box"];8067[label="vuz46800",fontsize=16,color="green",shape="box"];8068[label="vuz2680",fontsize=16,color="green",shape="box"];8083[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT)) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT))) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];8083 -> 8094[label="",style="solid", color="black", weight=3]; 102.84/63.27 8084[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];8084 -> 8095[label="",style="solid", color="black", weight=3]; 102.84/63.27 8085[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not True) == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) (not True)) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) (not True))",fontsize=16,color="black",shape="box"];8085 -> 8096[label="",style="solid", color="black", weight=3]; 102.84/63.27 8086[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];8086 -> 8097[label="",style="solid", color="black", weight=3]; 102.84/63.27 8094[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not False) == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) (not False)) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) (not False))",fontsize=16,color="black",shape="box"];8094 -> 8141[label="",style="solid", color="black", weight=3]; 102.84/63.27 8095[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (absReal1 (Integer (Pos Zero)) True) (Integer vuz473 `rem` absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];8095 -> 8142[label="",style="solid", color="black", weight=3]; 102.84/63.27 8096[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg (Succ vuz26900))) False == fromInt (Pos Zero)) (absReal1 (Integer (Neg (Succ vuz26900))) False) (Integer vuz473 `rem` absReal1 (Integer (Neg (Succ vuz26900))) False)",fontsize=16,color="black",shape="box"];8096 -> 8143[label="",style="solid", color="black", weight=3]; 102.84/63.27 8097[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (absReal1 (Integer (Neg Zero)) True) (Integer vuz473 `rem` absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];8097 -> 8144[label="",style="solid", color="black", weight=3]; 102.84/63.27 8141[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal1 (Integer (Pos (Succ vuz26900))) True == fromInt (Pos Zero)) (absReal1 (Integer (Pos (Succ vuz26900))) True) (Integer vuz473 `rem` absReal1 (Integer (Pos (Succ vuz26900))) True)",fontsize=16,color="black",shape="box"];8141 -> 8149[label="",style="solid", color="black", weight=3]; 102.84/63.27 8142 -> 8196[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8142[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Pos Zero) == fromInt (Pos Zero)) (Integer (Pos Zero)) (Integer vuz473 `rem` Integer (Pos Zero))",fontsize=16,color="magenta"];8142 -> 8197[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8142 -> 8198[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8142 -> 8199[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8143[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal0 (Integer (Neg (Succ vuz26900))) otherwise == fromInt (Pos Zero)) (absReal0 (Integer (Neg (Succ vuz26900))) otherwise) (Integer vuz473 `rem` absReal0 (Integer (Neg (Succ vuz26900))) otherwise)",fontsize=16,color="black",shape="box"];8143 -> 8151[label="",style="solid", color="black", weight=3]; 102.84/63.27 8144 -> 8196[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8144[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Neg Zero) == fromInt (Pos Zero)) (Integer (Neg Zero)) (Integer vuz473 `rem` Integer (Neg Zero))",fontsize=16,color="magenta"];8144 -> 8200[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8144 -> 8201[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8144 -> 8202[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8149 -> 8196[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8149[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (Pos (Succ vuz26900)) == fromInt (Pos Zero)) (Integer (Pos (Succ vuz26900))) (Integer vuz473 `rem` Integer (Pos (Succ vuz26900)))",fontsize=16,color="magenta"];8149 -> 8203[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8149 -> 8204[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8149 -> 8205[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8197[label="Pos Zero",fontsize=16,color="green",shape="box"];8198[label="Pos Zero",fontsize=16,color="green",shape="box"];8199[label="Pos Zero",fontsize=16,color="green",shape="box"];8196[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer vuz503 == fromInt (Pos Zero)) (Integer vuz501) (Integer vuz473 `rem` Integer vuz502)",fontsize=16,color="black",shape="triangle"];8196 -> 8209[label="",style="solid", color="black", weight=3]; 102.84/63.27 8151[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` absReal0 (Integer (Neg (Succ vuz26900))) True == fromInt (Pos Zero)) (absReal0 (Integer (Neg (Succ vuz26900))) True) (Integer vuz473 `rem` absReal0 (Integer (Neg (Succ vuz26900))) True)",fontsize=16,color="black",shape="box"];8151 -> 8165[label="",style="solid", color="black", weight=3]; 102.84/63.27 8200[label="Neg Zero",fontsize=16,color="green",shape="box"];8201[label="Neg Zero",fontsize=16,color="green",shape="box"];8202[label="Neg Zero",fontsize=16,color="green",shape="box"];8203[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8204[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8205[label="Pos (Succ vuz26900)",fontsize=16,color="green",shape="box"];8209 -> 8213[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8209[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer (primRemInt vuz474 vuz503) == fromInt (Pos Zero)) (Integer vuz501) (Integer (primRemInt vuz474 vuz503))",fontsize=16,color="magenta"];8209 -> 8214[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8209 -> 8215[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8165[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` (`negate` Integer (Neg (Succ vuz26900))) == fromInt (Pos Zero)) (`negate` Integer (Neg (Succ vuz26900))) (Integer vuz473 `rem` (`negate` Integer (Neg (Succ vuz26900))))",fontsize=16,color="black",shape="box"];8165 -> 8181[label="",style="solid", color="black", weight=3]; 102.84/63.27 8214 -> 4263[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8214[label="primRemInt vuz474 vuz503",fontsize=16,color="magenta"];8214 -> 8216[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8214 -> 8217[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8215 -> 6099[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8215[label="Integer (primRemInt vuz474 vuz503) == fromInt (Pos Zero)",fontsize=16,color="magenta"];8215 -> 8218[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8213[label="Integer vuz268 `quot` gcd0Gcd'1 vuz504 (Integer vuz501) (Integer vuz505)",fontsize=16,color="burlywood",shape="triangle"];8669[label="vuz504/False",fontsize=10,color="white",style="solid",shape="box"];8213 -> 8669[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8669 -> 8219[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8670[label="vuz504/True",fontsize=10,color="white",style="solid",shape="box"];8213 -> 8670[label="",style="solid", color="burlywood", weight=9]; 102.84/63.27 8670 -> 8220[label="",style="solid", color="burlywood", weight=3]; 102.84/63.27 8181 -> 8196[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8181[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz474 `rem` Integer (primNegInt (Neg (Succ vuz26900))) == fromInt (Pos Zero)) (Integer (primNegInt (Neg (Succ vuz26900)))) (Integer vuz473 `rem` Integer (primNegInt (Neg (Succ vuz26900))))",fontsize=16,color="magenta"];8181 -> 8206[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8181 -> 8207[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8181 -> 8208[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8216[label="vuz474",fontsize=16,color="green",shape="box"];8217[label="vuz503",fontsize=16,color="green",shape="box"];8218 -> 4263[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8218[label="primRemInt vuz474 vuz503",fontsize=16,color="magenta"];8218 -> 8221[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8218 -> 8222[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8219[label="Integer vuz268 `quot` gcd0Gcd'1 False (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8219 -> 8223[label="",style="solid", color="black", weight=3]; 102.84/63.27 8220[label="Integer vuz268 `quot` gcd0Gcd'1 True (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8220 -> 8224[label="",style="solid", color="black", weight=3]; 102.84/63.27 8206 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8206[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8206 -> 8210[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8207 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8207[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8207 -> 8211[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8208 -> 2686[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8208[label="primNegInt (Neg (Succ vuz26900))",fontsize=16,color="magenta"];8208 -> 8212[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8221[label="vuz474",fontsize=16,color="green",shape="box"];8222[label="vuz503",fontsize=16,color="green",shape="box"];8223[label="Integer vuz268 `quot` gcd0Gcd'0 (Integer vuz501) (Integer vuz505)",fontsize=16,color="black",shape="box"];8223 -> 8225[label="",style="solid", color="black", weight=3]; 102.84/63.27 8224 -> 7925[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8224[label="Integer vuz268 `quot` Integer vuz501",fontsize=16,color="magenta"];8224 -> 8226[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8210[label="vuz26900",fontsize=16,color="green",shape="box"];8211[label="vuz26900",fontsize=16,color="green",shape="box"];8212[label="vuz26900",fontsize=16,color="green",shape="box"];8225[label="Integer vuz268 `quot` gcd0Gcd' (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="black",shape="box"];8225 -> 8227[label="",style="solid", color="black", weight=3]; 102.84/63.27 8226[label="vuz501",fontsize=16,color="green",shape="box"];8227[label="Integer vuz268 `quot` gcd0Gcd'2 (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="black",shape="box"];8227 -> 8228[label="",style="solid", color="black", weight=3]; 102.84/63.27 8228 -> 8196[label="",style="dashed", color="red", weight=0]; 102.84/63.27 8228[label="Integer vuz268 `quot` gcd0Gcd'1 (Integer vuz501 `rem` Integer vuz505 == fromInt (Pos Zero)) (Integer vuz505) (Integer vuz501 `rem` Integer vuz505)",fontsize=16,color="magenta"];8228 -> 8229[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8228 -> 8230[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8228 -> 8231[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8228 -> 8232[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8228 -> 8233[label="",style="dashed", color="magenta", weight=3]; 102.84/63.27 8229[label="vuz505",fontsize=16,color="green",shape="box"];8230[label="vuz505",fontsize=16,color="green",shape="box"];8231[label="vuz501",fontsize=16,color="green",shape="box"];8232[label="vuz505",fontsize=16,color="green",shape="box"];8233[label="vuz501",fontsize=16,color="green",shape="box"];} 102.84/63.27 102.84/63.27 ---------------------------------------- 102.84/63.27 102.84/63.27 (944) 102.84/63.27 TRUE 102.87/63.30 EOF